From 2e0fd201dc23ce44adb6dd15067d8e11a72d15a6 Mon Sep 17 00:00:00 2001 From: benjamink Date: Thu, 9 Jan 2025 11:11:08 -0800 Subject: [PATCH 01/22] Update copyright --- LICENSE | 9 +++++++++ README-dev.rst | 8 ++++++++ README.rst | 9 +++++++++ devtools/check-copyright.py | 2 +- devtools/git_message_hook.py | 2 +- geoapps-assets/__init__.py | 2 +- geoapps/__init__.py | 2 +- geoapps/base/__init__.py | 2 +- geoapps/base/application.py | 5 +++-- geoapps/base/dash_application.py | 2 +- geoapps/base/layout.py | 2 +- geoapps/base/plot.py | 2 +- geoapps/base/selection.py | 2 +- geoapps/block_model_creation/application.py | 2 +- geoapps/block_model_creation/constants.py | 2 +- geoapps/block_model_creation/driver.py | 2 +- geoapps/block_model_creation/layout.py | 2 +- geoapps/block_model_creation/params.py | 2 +- geoapps/calculator/__init__.py | 2 +- geoapps/calculator/application.py | 2 +- geoapps/clustering/__init__.py | 2 +- geoapps/clustering/application.py | 2 +- geoapps/clustering/constants.py | 2 +- geoapps/clustering/driver.py | 2 +- geoapps/clustering/layout.py | 2 +- geoapps/clustering/params.py | 2 +- geoapps/clustering/plot_data.py | 2 +- geoapps/contours/__init__.py | 2 +- geoapps/contours/application.py | 4 ++-- geoapps/contours/constants.py | 2 +- geoapps/contours/driver.py | 2 +- geoapps/contours/params.py | 2 +- geoapps/coordinate_transformation/__init__.py | 2 +- geoapps/coordinate_transformation/application.py | 2 +- geoapps/coordinate_transformation/utils.py | 2 +- geoapps/driver_base/__init__.py | 2 +- geoapps/driver_base/driver.py | 2 +- geoapps/driver_base/params.py | 2 +- geoapps/driver_base/utils.py | 2 +- geoapps/edge_detection/__init__.py | 2 +- geoapps/edge_detection/application.py | 4 ++-- geoapps/edge_detection/constants.py | 2 +- geoapps/edge_detection/driver.py | 2 +- geoapps/edge_detection/params.py | 2 +- geoapps/export/__init__.py | 2 +- geoapps/export/application.py | 2 +- geoapps/export/utils.py | 2 +- geoapps/interpolation/__init__.py | 2 +- geoapps/interpolation/application.py | 4 ++-- geoapps/interpolation/constants.py | 2 +- geoapps/interpolation/driver.py | 2 +- geoapps/interpolation/params.py | 2 +- geoapps/inversion/__init__.py | 2 +- geoapps/inversion/base_inversion_application.py | 2 +- geoapps/inversion/base_inversion_layout.py | 2 +- geoapps/inversion/components/preprocessing.py | 2 +- geoapps/inversion/constants.py | 2 +- geoapps/inversion/electricals/__init__.py | 2 +- geoapps/inversion/electricals/application.py | 2 +- geoapps/inversion/electricals/direct_current/__init__.py | 2 +- .../direct_current/pseudo_three_dimensions/constants.py | 2 +- .../direct_current/three_dimensions/__init__.py | 2 +- .../direct_current/three_dimensions/constants.py | 2 +- .../direct_current/two_dimensions/__init__.py | 2 +- .../direct_current/two_dimensions/constants.py | 2 +- .../electricals/induced_polarization/__init__.py | 2 +- .../pseudo_three_dimensions/constants.py | 2 +- .../induced_polarization/three_dimensions/__init__.py | 2 +- .../induced_polarization/three_dimensions/constants.py | 2 +- .../induced_polarization/two_dimensions/__init__.py | 2 +- .../induced_polarization/two_dimensions/constants.py | 2 +- geoapps/inversion/electromagnetics/__init__.py | 2 +- geoapps/inversion/electromagnetics/application.py | 2 +- geoapps/inversion/electromagnetics/driver.py | 2 +- .../electromagnetics/frequency_domain/__init__.py | 2 +- .../electromagnetics/frequency_domain/constants.py | 2 +- .../inversion/electromagnetics/time_domain/__init__.py | 2 +- .../inversion/electromagnetics/time_domain/constants.py | 2 +- geoapps/inversion/joint/constants.py | 2 +- geoapps/inversion/joint/joint_cross_gradient/__init__.py | 2 +- .../inversion/joint/joint_cross_gradient/constants.py | 2 +- geoapps/inversion/joint/joint_surveys/__init__.py | 2 +- geoapps/inversion/joint/joint_surveys/constants.py | 2 +- geoapps/inversion/natural_sources/__init__.py | 2 +- .../natural_sources/magnetotellurics/__init__.py | 2 +- .../natural_sources/magnetotellurics/constants.py | 2 +- geoapps/inversion/natural_sources/tipper/__init__.py | 2 +- geoapps/inversion/natural_sources/tipper/constants.py | 2 +- geoapps/inversion/potential_fields/__init__.py | 2 +- geoapps/inversion/potential_fields/application.py | 2 +- geoapps/inversion/potential_fields/gravity/__init__.py | 2 +- .../inversion/potential_fields/gravity/application.py | 2 +- geoapps/inversion/potential_fields/gravity/constants.py | 2 +- geoapps/inversion/potential_fields/gravity/layout.py | 2 +- .../potential_fields/magnetic_scalar/__init__.py | 2 +- .../potential_fields/magnetic_scalar/application.py | 2 +- .../potential_fields/magnetic_scalar/constants.py | 2 +- .../inversion/potential_fields/magnetic_scalar/layout.py | 2 +- .../potential_fields/magnetic_vector/__init__.py | 2 +- .../potential_fields/magnetic_vector/application.py | 2 +- .../potential_fields/magnetic_vector/constants.py | 2 +- .../inversion/potential_fields/magnetic_vector/layout.py | 2 +- geoapps/inversion/utils.py | 2 +- geoapps/iso_surfaces/__init__.py | 2 +- geoapps/iso_surfaces/application.py | 4 ++-- geoapps/iso_surfaces/constants.py | 2 +- geoapps/iso_surfaces/driver.py | 2 +- geoapps/iso_surfaces/params.py | 2 +- geoapps/octree_creation/__init__.py | 2 +- geoapps/octree_creation/application.py | 4 ++-- geoapps/octree_creation/constants.py | 2 +- geoapps/peak_finder/__init__.py | 2 +- geoapps/peak_finder/application.py | 6 +++--- geoapps/peak_finder/constants.py | 2 +- geoapps/scatter_plot/__init__.py | 2 +- geoapps/scatter_plot/application.py | 2 +- geoapps/scatter_plot/constants.py | 2 +- geoapps/scatter_plot/driver.py | 2 +- geoapps/scatter_plot/layout.py | 2 +- geoapps/scatter_plot/params.py | 2 +- geoapps/scripts/__init__.py | 2 +- geoapps/scripts/start_notebook.py | 2 +- geoapps/shared_utils/__init__.py | 2 +- geoapps/shared_utils/colors.py | 2 +- geoapps/shared_utils/utils.py | 2 +- geoapps/triangulated_surfaces/__init__.py | 2 +- geoapps/triangulated_surfaces/application.py | 2 +- geoapps/utils/__init__.py | 2 +- geoapps/utils/formatters.py | 2 +- geoapps/utils/geophysical_systems.py | 2 +- geoapps/utils/importing.py | 2 +- geoapps/utils/io.py | 2 +- geoapps/utils/list.py | 2 +- geoapps/utils/models.py | 2 +- geoapps/utils/plotting.py | 2 +- geoapps/utils/statistics.py | 2 +- geoapps/utils/string.py | 2 +- geoapps/utils/surveys.py | 2 +- geoapps/utils/testing.py | 2 +- geoapps/utils/workspace.py | 2 +- geoapps/utils/write_default_uijson.py | 2 +- tests/__init__.py | 2 +- tests/assets_path_test.py | 2 +- tests/conftest.py | 2 +- tests/data_transfer_test.py | 2 +- tests/em1d_run_test.py | 2 +- tests/formatters_test.py | 2 +- tests/iso_surfaces_test.py | 2 +- tests/preprocessing_test.py | 2 +- tests/pyproject_test.py | 2 +- tests/run_tests/apps_inversion_test.py | 2 +- tests/run_tests/apps_run_test.py | 2 +- tests/utils_test.py | 2 +- tests/version_test.py | 2 +- tests/write_default_uijson_test.py | 2 +- 155 files changed, 187 insertions(+), 160 deletions(-) diff --git a/LICENSE b/LICENSE index 814813801..71726de7c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,12 @@ +# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' +# ' +# This file is part of geoapps. ' +# ' +# geoapps is distributed under the terms and conditions of the MIT License ' +# (see LICENSE file at the root of this source code package). ' +# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + MIT License Copyright (c) 2024 Mira Geoscience diff --git a/README-dev.rst b/README-dev.rst index a7495d92b..22bf20092 100644 --- a/README-dev.rst +++ b/README-dev.rst @@ -1,3 +1,11 @@ +# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' +# ' +# This file is part of geoapps. ' +# ' +# geoapps is distributed under the terms and conditions of the MIT License ' +# (see LICENSE file at the root of this source code package). ' +# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Setup for development ===================== diff --git a/README.rst b/README.rst index 9a796efa4..8606c6ae4 100644 --- a/README.rst +++ b/README.rst @@ -1,3 +1,12 @@ +# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' +# ' +# This file is part of geoapps. ' +# ' +# geoapps is distributed under the terms and conditions of the MIT License ' +# (see LICENSE file at the root of this source code package). ' +# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + |coverage| |precommit_ci| |docs| |style| |version| |pyversions| diff --git a/devtools/check-copyright.py b/devtools/check-copyright.py index 223f76038..664c5adfa 100644 --- a/devtools/check-copyright.py +++ b/devtools/check-copyright.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/devtools/git_message_hook.py b/devtools/git_message_hook.py index 282e7f34c..3fd8a2a7f 100644 --- a/devtools/git_message_hook.py +++ b/devtools/git_message_hook.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps-assets/__init__.py b/geoapps-assets/__init__.py index c6693bfba..c006bae4f 100644 --- a/geoapps-assets/__init__.py +++ b/geoapps-assets/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2023-2024 Mira Geoscience Ltd. ' +# Copyright (c) 2023-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/__init__.py b/geoapps/__init__.py index b0c063598..862e2a07e 100644 --- a/geoapps/__init__.py +++ b/geoapps/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/base/__init__.py b/geoapps/base/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/base/__init__.py +++ b/geoapps/base/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/base/application.py b/geoapps/base/application.py index 01d3afcc9..4aa504539 100644 --- a/geoapps/base/application.py +++ b/geoapps/base/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -22,10 +22,11 @@ dict_mapper, entity2uuid, fetch_active_workspace, + list2str, str2uuid, ) from geoh5py.ui_json import InputFile -from geoh5py.ui_json.utils import list2str, monitored_directory_copy +from geoh5py.ui_json.utils import monitored_directory_copy from geoh5py.workspace import Workspace from traitlets import TraitError diff --git a/geoapps/base/dash_application.py b/geoapps/base/dash_application.py index 07a83b1b4..e6cb39d61 100644 --- a/geoapps/base/dash_application.py +++ b/geoapps/base/dash_application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/base/layout.py b/geoapps/base/layout.py index c88141fcc..5b2dcdad4 100644 --- a/geoapps/base/layout.py +++ b/geoapps/base/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/base/plot.py b/geoapps/base/plot.py index 4d2685f78..d49a6151c 100644 --- a/geoapps/base/plot.py +++ b/geoapps/base/plot.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/base/selection.py b/geoapps/base/selection.py index 24cac1d22..6010a63f3 100644 --- a/geoapps/base/selection.py +++ b/geoapps/base/selection.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/block_model_creation/application.py b/geoapps/block_model_creation/application.py index 0e47fb635..38d6128ed 100644 --- a/geoapps/block_model_creation/application.py +++ b/geoapps/block_model_creation/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/block_model_creation/constants.py b/geoapps/block_model_creation/constants.py index cbdfa95bf..84aff5e69 100644 --- a/geoapps/block_model_creation/constants.py +++ b/geoapps/block_model_creation/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/block_model_creation/driver.py b/geoapps/block_model_creation/driver.py index 330acc673..082ea71fd 100644 --- a/geoapps/block_model_creation/driver.py +++ b/geoapps/block_model_creation/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/block_model_creation/layout.py b/geoapps/block_model_creation/layout.py index 9840f8b06..92e2ddc7e 100644 --- a/geoapps/block_model_creation/layout.py +++ b/geoapps/block_model_creation/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/block_model_creation/params.py b/geoapps/block_model_creation/params.py index 7f2e84b39..ff376a552 100644 --- a/geoapps/block_model_creation/params.py +++ b/geoapps/block_model_creation/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/calculator/__init__.py b/geoapps/calculator/__init__.py index 096f62211..4b5c02eed 100644 --- a/geoapps/calculator/__init__.py +++ b/geoapps/calculator/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/calculator/application.py b/geoapps/calculator/application.py index 36c8d76b7..b96ce5290 100644 --- a/geoapps/calculator/application.py +++ b/geoapps/calculator/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/__init__.py b/geoapps/clustering/__init__.py index 1e3522218..70eb90f78 100644 --- a/geoapps/clustering/__init__.py +++ b/geoapps/clustering/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/application.py b/geoapps/clustering/application.py index 1af7a40e6..5d2001488 100644 --- a/geoapps/clustering/application.py +++ b/geoapps/clustering/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/constants.py b/geoapps/clustering/constants.py index 3a525c7d5..b80329bbf 100644 --- a/geoapps/clustering/constants.py +++ b/geoapps/clustering/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/driver.py b/geoapps/clustering/driver.py index 1e28539d9..658d3c3e7 100644 --- a/geoapps/clustering/driver.py +++ b/geoapps/clustering/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/layout.py b/geoapps/clustering/layout.py index 660a18a93..35d661024 100644 --- a/geoapps/clustering/layout.py +++ b/geoapps/clustering/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/params.py b/geoapps/clustering/params.py index 3af485490..e2f731f22 100644 --- a/geoapps/clustering/params.py +++ b/geoapps/clustering/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/clustering/plot_data.py b/geoapps/clustering/plot_data.py index 1603daf48..bf44e2dc2 100644 --- a/geoapps/clustering/plot_data.py +++ b/geoapps/clustering/plot_data.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/contours/__init__.py b/geoapps/contours/__init__.py index ede61ec9f..1f577d13a 100644 --- a/geoapps/contours/__init__.py +++ b/geoapps/contours/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/contours/application.py b/geoapps/contours/application.py index 2e9970eed..212201129 100644 --- a/geoapps/contours/application.py +++ b/geoapps/contours/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -36,7 +36,7 @@ class ContourValues(PlotSelection2D): def __init__(self, ui_json=None, plot_result=True, **kwargs): app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): - self.params = self._param_class(InputFile(ui_json)) + self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) else: try: self.params = self._param_class(**app_initializer) diff --git a/geoapps/contours/constants.py b/geoapps/contours/constants.py index 181a4fe23..7f2e5f5aa 100644 --- a/geoapps/contours/constants.py +++ b/geoapps/contours/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/contours/driver.py b/geoapps/contours/driver.py index f014d0208..f5d83628e 100644 --- a/geoapps/contours/driver.py +++ b/geoapps/contours/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/contours/params.py b/geoapps/contours/params.py index 50f9c4f39..2746abb4c 100644 --- a/geoapps/contours/params.py +++ b/geoapps/contours/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/coordinate_transformation/__init__.py b/geoapps/coordinate_transformation/__init__.py index 5879efc77..c8fe29462 100644 --- a/geoapps/coordinate_transformation/__init__.py +++ b/geoapps/coordinate_transformation/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/coordinate_transformation/application.py b/geoapps/coordinate_transformation/application.py index 54de9785a..c44dedfa6 100644 --- a/geoapps/coordinate_transformation/application.py +++ b/geoapps/coordinate_transformation/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/coordinate_transformation/utils.py b/geoapps/coordinate_transformation/utils.py index d47fff9ce..160af1b0d 100644 --- a/geoapps/coordinate_transformation/utils.py +++ b/geoapps/coordinate_transformation/utils.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/driver_base/__init__.py b/geoapps/driver_base/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/driver_base/__init__.py +++ b/geoapps/driver_base/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/driver_base/driver.py b/geoapps/driver_base/driver.py index a49a5179d..14f502c05 100644 --- a/geoapps/driver_base/driver.py +++ b/geoapps/driver_base/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/driver_base/params.py b/geoapps/driver_base/params.py index 39e26ae4a..6b0245685 100644 --- a/geoapps/driver_base/params.py +++ b/geoapps/driver_base/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/driver_base/utils.py b/geoapps/driver_base/utils.py index f2d6cb455..61dcc02c6 100644 --- a/geoapps/driver_base/utils.py +++ b/geoapps/driver_base/utils.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/edge_detection/__init__.py b/geoapps/edge_detection/__init__.py index a07655e20..6f07dc8b7 100644 --- a/geoapps/edge_detection/__init__.py +++ b/geoapps/edge_detection/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/edge_detection/application.py b/geoapps/edge_detection/application.py index 60fd7db8c..72d19063d 100644 --- a/geoapps/edge_detection/application.py +++ b/geoapps/edge_detection/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -59,7 +59,7 @@ class EdgeDetectionApp(PlotSelection2D): def __init__(self, ui_json=None, plot_result=True, **kwargs): app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): - self.params = self._param_class(InputFile(ui_json)) + self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) else: try: self.params = self._param_class(**app_initializer) diff --git a/geoapps/edge_detection/constants.py b/geoapps/edge_detection/constants.py index 6546f054b..ab4f8000b 100644 --- a/geoapps/edge_detection/constants.py +++ b/geoapps/edge_detection/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/edge_detection/driver.py b/geoapps/edge_detection/driver.py index bc921673f..71c13ebd2 100644 --- a/geoapps/edge_detection/driver.py +++ b/geoapps/edge_detection/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/edge_detection/params.py b/geoapps/edge_detection/params.py index 14904f4f9..84d63b0cd 100644 --- a/geoapps/edge_detection/params.py +++ b/geoapps/edge_detection/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/export/__init__.py b/geoapps/export/__init__.py index 72602363d..1125318b5 100644 --- a/geoapps/export/__init__.py +++ b/geoapps/export/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/export/application.py b/geoapps/export/application.py index 9e8034a38..444758993 100644 --- a/geoapps/export/application.py +++ b/geoapps/export/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/export/utils.py b/geoapps/export/utils.py index cd492d7aa..fe1de4a28 100644 --- a/geoapps/export/utils.py +++ b/geoapps/export/utils.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/interpolation/__init__.py b/geoapps/interpolation/__init__.py index 3d7e73307..15832febb 100644 --- a/geoapps/interpolation/__init__.py +++ b/geoapps/interpolation/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/interpolation/application.py b/geoapps/interpolation/application.py index 7981e3050..faf223ac3 100644 --- a/geoapps/interpolation/application.py +++ b/geoapps/interpolation/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -41,7 +41,7 @@ class DataInterpolation(ObjectDataSelection): def __init__(self, ui_json=None, **kwargs): app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): - self.params = self._param_class(InputFile(ui_json)) + self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) else: try: self.params = self._param_class(**app_initializer) diff --git a/geoapps/interpolation/constants.py b/geoapps/interpolation/constants.py index e67af86d0..e9828fbf0 100644 --- a/geoapps/interpolation/constants.py +++ b/geoapps/interpolation/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/interpolation/driver.py b/geoapps/interpolation/driver.py index fa8eed96c..5ed3a3b38 100644 --- a/geoapps/interpolation/driver.py +++ b/geoapps/interpolation/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/interpolation/params.py b/geoapps/interpolation/params.py index e1bdec534..2ecdc26f1 100644 --- a/geoapps/interpolation/params.py +++ b/geoapps/interpolation/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/__init__.py b/geoapps/inversion/__init__.py index 79931d7a2..eeed4c1cf 100644 --- a/geoapps/inversion/__init__.py +++ b/geoapps/inversion/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/base_inversion_application.py b/geoapps/inversion/base_inversion_application.py index ebe9a6479..c9d6345cb 100644 --- a/geoapps/inversion/base_inversion_application.py +++ b/geoapps/inversion/base_inversion_application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/base_inversion_layout.py b/geoapps/inversion/base_inversion_layout.py index 93ba760f9..c6eea1231 100644 --- a/geoapps/inversion/base_inversion_layout.py +++ b/geoapps/inversion/base_inversion_layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/components/preprocessing.py b/geoapps/inversion/components/preprocessing.py index 8d28956c7..e681cd63d 100644 --- a/geoapps/inversion/components/preprocessing.py +++ b/geoapps/inversion/components/preprocessing.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/constants.py b/geoapps/inversion/constants.py index e078dd58b..c959f6f9c 100644 --- a/geoapps/inversion/constants.py +++ b/geoapps/inversion/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/__init__.py b/geoapps/inversion/electricals/__init__.py index ad575ec1c..6a6e87967 100644 --- a/geoapps/inversion/electricals/__init__.py +++ b/geoapps/inversion/electricals/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/application.py b/geoapps/inversion/electricals/application.py index 3925a0f55..6ea64607f 100644 --- a/geoapps/inversion/electricals/application.py +++ b/geoapps/inversion/electricals/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/direct_current/__init__.py b/geoapps/inversion/electricals/direct_current/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/inversion/electricals/direct_current/__init__.py +++ b/geoapps/inversion/electricals/direct_current/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py b/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py index aa7a6649e..64b28e0fd 100644 --- a/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py +++ b/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/direct_current/three_dimensions/__init__.py b/geoapps/inversion/electricals/direct_current/three_dimensions/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/electricals/direct_current/three_dimensions/__init__.py +++ b/geoapps/inversion/electricals/direct_current/three_dimensions/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py b/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py index 475ed6583..20cf65e28 100644 --- a/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py +++ b/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/direct_current/two_dimensions/__init__.py b/geoapps/inversion/electricals/direct_current/two_dimensions/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/electricals/direct_current/two_dimensions/__init__.py +++ b/geoapps/inversion/electricals/direct_current/two_dimensions/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py b/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py index ace042295..43ccca395 100644 --- a/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py +++ b/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/induced_polarization/__init__.py b/geoapps/inversion/electricals/induced_polarization/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/inversion/electricals/induced_polarization/__init__.py +++ b/geoapps/inversion/electricals/induced_polarization/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py b/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py index 579c1ae42..13d8ce6fb 100644 --- a/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py +++ b/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/induced_polarization/three_dimensions/__init__.py b/geoapps/inversion/electricals/induced_polarization/three_dimensions/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/electricals/induced_polarization/three_dimensions/__init__.py +++ b/geoapps/inversion/electricals/induced_polarization/three_dimensions/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py b/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py index db5bb2a06..e06c5d036 100644 --- a/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py +++ b/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/induced_polarization/two_dimensions/__init__.py b/geoapps/inversion/electricals/induced_polarization/two_dimensions/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/electricals/induced_polarization/two_dimensions/__init__.py +++ b/geoapps/inversion/electricals/induced_polarization/two_dimensions/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py b/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py index ffd743d81..6ba38f618 100644 --- a/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py +++ b/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/__init__.py b/geoapps/inversion/electromagnetics/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/inversion/electromagnetics/__init__.py +++ b/geoapps/inversion/electromagnetics/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/application.py b/geoapps/inversion/electromagnetics/application.py index 71b758bb7..57c1b4f3f 100644 --- a/geoapps/inversion/electromagnetics/application.py +++ b/geoapps/inversion/electromagnetics/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/driver.py b/geoapps/inversion/electromagnetics/driver.py index d9e375c3d..a6b3c2e42 100644 --- a/geoapps/inversion/electromagnetics/driver.py +++ b/geoapps/inversion/electromagnetics/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/frequency_domain/__init__.py b/geoapps/inversion/electromagnetics/frequency_domain/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/electromagnetics/frequency_domain/__init__.py +++ b/geoapps/inversion/electromagnetics/frequency_domain/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/frequency_domain/constants.py b/geoapps/inversion/electromagnetics/frequency_domain/constants.py index fd7eb3394..afa52b809 100644 --- a/geoapps/inversion/electromagnetics/frequency_domain/constants.py +++ b/geoapps/inversion/electromagnetics/frequency_domain/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/time_domain/__init__.py b/geoapps/inversion/electromagnetics/time_domain/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/electromagnetics/time_domain/__init__.py +++ b/geoapps/inversion/electromagnetics/time_domain/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/electromagnetics/time_domain/constants.py b/geoapps/inversion/electromagnetics/time_domain/constants.py index fd7eb3394..afa52b809 100644 --- a/geoapps/inversion/electromagnetics/time_domain/constants.py +++ b/geoapps/inversion/electromagnetics/time_domain/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/joint/constants.py b/geoapps/inversion/joint/constants.py index fd7eb3394..afa52b809 100644 --- a/geoapps/inversion/joint/constants.py +++ b/geoapps/inversion/joint/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/joint/joint_cross_gradient/__init__.py b/geoapps/inversion/joint/joint_cross_gradient/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/joint/joint_cross_gradient/__init__.py +++ b/geoapps/inversion/joint/joint_cross_gradient/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/joint/joint_cross_gradient/constants.py b/geoapps/inversion/joint/joint_cross_gradient/constants.py index fd7eb3394..afa52b809 100644 --- a/geoapps/inversion/joint/joint_cross_gradient/constants.py +++ b/geoapps/inversion/joint/joint_cross_gradient/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/joint/joint_surveys/__init__.py b/geoapps/inversion/joint/joint_surveys/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/joint/joint_surveys/__init__.py +++ b/geoapps/inversion/joint/joint_surveys/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/joint/joint_surveys/constants.py b/geoapps/inversion/joint/joint_surveys/constants.py index fd7eb3394..afa52b809 100644 --- a/geoapps/inversion/joint/joint_surveys/constants.py +++ b/geoapps/inversion/joint/joint_surveys/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/natural_sources/__init__.py b/geoapps/inversion/natural_sources/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/natural_sources/__init__.py +++ b/geoapps/inversion/natural_sources/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/natural_sources/magnetotellurics/__init__.py b/geoapps/inversion/natural_sources/magnetotellurics/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/natural_sources/magnetotellurics/__init__.py +++ b/geoapps/inversion/natural_sources/magnetotellurics/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/natural_sources/magnetotellurics/constants.py b/geoapps/inversion/natural_sources/magnetotellurics/constants.py index fbfb9243e..c752b5742 100644 --- a/geoapps/inversion/natural_sources/magnetotellurics/constants.py +++ b/geoapps/inversion/natural_sources/magnetotellurics/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/natural_sources/tipper/__init__.py b/geoapps/inversion/natural_sources/tipper/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/natural_sources/tipper/__init__.py +++ b/geoapps/inversion/natural_sources/tipper/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/natural_sources/tipper/constants.py b/geoapps/inversion/natural_sources/tipper/constants.py index fd7eb3394..afa52b809 100644 --- a/geoapps/inversion/natural_sources/tipper/constants.py +++ b/geoapps/inversion/natural_sources/tipper/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/__init__.py b/geoapps/inversion/potential_fields/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/potential_fields/__init__.py +++ b/geoapps/inversion/potential_fields/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/application.py b/geoapps/inversion/potential_fields/application.py index 94ad2f70c..c32312eb6 100644 --- a/geoapps/inversion/potential_fields/application.py +++ b/geoapps/inversion/potential_fields/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/gravity/__init__.py b/geoapps/inversion/potential_fields/gravity/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/potential_fields/gravity/__init__.py +++ b/geoapps/inversion/potential_fields/gravity/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/gravity/application.py b/geoapps/inversion/potential_fields/gravity/application.py index 41e63615d..c284def01 100644 --- a/geoapps/inversion/potential_fields/gravity/application.py +++ b/geoapps/inversion/potential_fields/gravity/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/gravity/constants.py b/geoapps/inversion/potential_fields/gravity/constants.py index 6ca28469d..495dc2251 100644 --- a/geoapps/inversion/potential_fields/gravity/constants.py +++ b/geoapps/inversion/potential_fields/gravity/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/gravity/layout.py b/geoapps/inversion/potential_fields/gravity/layout.py index b24f97808..65473d27e 100644 --- a/geoapps/inversion/potential_fields/gravity/layout.py +++ b/geoapps/inversion/potential_fields/gravity/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_scalar/__init__.py b/geoapps/inversion/potential_fields/magnetic_scalar/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/potential_fields/magnetic_scalar/__init__.py +++ b/geoapps/inversion/potential_fields/magnetic_scalar/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_scalar/application.py b/geoapps/inversion/potential_fields/magnetic_scalar/application.py index f75480584..d4cb427b1 100644 --- a/geoapps/inversion/potential_fields/magnetic_scalar/application.py +++ b/geoapps/inversion/potential_fields/magnetic_scalar/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_scalar/constants.py b/geoapps/inversion/potential_fields/magnetic_scalar/constants.py index a64bd2609..f11f72cc6 100644 --- a/geoapps/inversion/potential_fields/magnetic_scalar/constants.py +++ b/geoapps/inversion/potential_fields/magnetic_scalar/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_scalar/layout.py b/geoapps/inversion/potential_fields/magnetic_scalar/layout.py index 378f24772..87d28dd2a 100644 --- a/geoapps/inversion/potential_fields/magnetic_scalar/layout.py +++ b/geoapps/inversion/potential_fields/magnetic_scalar/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_vector/__init__.py b/geoapps/inversion/potential_fields/magnetic_vector/__init__.py index 27cfab23a..6844b17f2 100644 --- a/geoapps/inversion/potential_fields/magnetic_vector/__init__.py +++ b/geoapps/inversion/potential_fields/magnetic_vector/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_vector/application.py b/geoapps/inversion/potential_fields/magnetic_vector/application.py index 25eb6af54..c9010120b 100644 --- a/geoapps/inversion/potential_fields/magnetic_vector/application.py +++ b/geoapps/inversion/potential_fields/magnetic_vector/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_vector/constants.py b/geoapps/inversion/potential_fields/magnetic_vector/constants.py index 1b717884b..70831361a 100644 --- a/geoapps/inversion/potential_fields/magnetic_vector/constants.py +++ b/geoapps/inversion/potential_fields/magnetic_vector/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/potential_fields/magnetic_vector/layout.py b/geoapps/inversion/potential_fields/magnetic_vector/layout.py index 4b25ae04e..b76cab0cf 100644 --- a/geoapps/inversion/potential_fields/magnetic_vector/layout.py +++ b/geoapps/inversion/potential_fields/magnetic_vector/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/inversion/utils.py b/geoapps/inversion/utils.py index 97954e990..88d29f38b 100644 --- a/geoapps/inversion/utils.py +++ b/geoapps/inversion/utils.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/iso_surfaces/__init__.py b/geoapps/iso_surfaces/__init__.py index f3a17abf2..0cb4baa89 100644 --- a/geoapps/iso_surfaces/__init__.py +++ b/geoapps/iso_surfaces/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/iso_surfaces/application.py b/geoapps/iso_surfaces/application.py index f3a53431b..d3978eb99 100644 --- a/geoapps/iso_surfaces/application.py +++ b/geoapps/iso_surfaces/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -42,7 +42,7 @@ class IsoSurface(ObjectDataSelection): def __init__(self, ui_json=None, **kwargs): app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): - self.params = self._param_class(InputFile(ui_json)) + self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) else: try: self.params = self._param_class(**app_initializer) diff --git a/geoapps/iso_surfaces/constants.py b/geoapps/iso_surfaces/constants.py index ae8731ed8..ecf2340cd 100644 --- a/geoapps/iso_surfaces/constants.py +++ b/geoapps/iso_surfaces/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/iso_surfaces/driver.py b/geoapps/iso_surfaces/driver.py index 2f6983580..a6ae91c9c 100644 --- a/geoapps/iso_surfaces/driver.py +++ b/geoapps/iso_surfaces/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/iso_surfaces/params.py b/geoapps/iso_surfaces/params.py index 4ebb766b8..c6e1f3ce6 100644 --- a/geoapps/iso_surfaces/params.py +++ b/geoapps/iso_surfaces/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/octree_creation/__init__.py b/geoapps/octree_creation/__init__.py index 0b7d2e6da..2188e64b8 100644 --- a/geoapps/octree_creation/__init__.py +++ b/geoapps/octree_creation/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/octree_creation/application.py b/geoapps/octree_creation/application.py index 057f40655..95384496e 100644 --- a/geoapps/octree_creation/application.py +++ b/geoapps/octree_creation/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -65,7 +65,7 @@ class OctreeMesh(ObjectDataSelection): def __init__(self, ui_json=None, **kwargs): app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): - self.params = self._param_class(InputFile(ui_json)) + self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) else: try: self.params = self._param_class(**app_initializer) diff --git a/geoapps/octree_creation/constants.py b/geoapps/octree_creation/constants.py index 1d0134940..03da8f8ef 100644 --- a/geoapps/octree_creation/constants.py +++ b/geoapps/octree_creation/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/peak_finder/__init__.py b/geoapps/peak_finder/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/peak_finder/__init__.py +++ b/geoapps/peak_finder/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/peak_finder/application.py b/geoapps/peak_finder/application.py index e9b30f6c2..2f3004d7d 100644 --- a/geoapps/peak_finder/application.py +++ b/geoapps/peak_finder/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' @@ -12,7 +12,6 @@ import uuid from pathlib import Path -from geoapps_utils.application.dash_application import ObjectSelection from geoh5py.data import ReferencedData from geoh5py.objects import ObjectBase from geoh5py.shared import Entity @@ -20,6 +19,7 @@ from geoh5py.ui_json import InputFile from ipywidgets import Dropdown, VBox from peak_finder.application import PeakFinder as DashPeakFinder +from peak_finder.dash_application import ObjectSelection from peak_finder.params import PeakFinderParams from geoapps.base.selection import ObjectDataSelection @@ -38,7 +38,7 @@ def __init__(self, ui_json=None, **kwargs): app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): - self.params = self._param_class(InputFile(ui_json)) + self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) else: try: self.params = self._param_class(**app_initializer) diff --git a/geoapps/peak_finder/constants.py b/geoapps/peak_finder/constants.py index 1413aba94..c90f6932f 100644 --- a/geoapps/peak_finder/constants.py +++ b/geoapps/peak_finder/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scatter_plot/__init__.py b/geoapps/scatter_plot/__init__.py index 66a34f14e..9c9e88bc8 100644 --- a/geoapps/scatter_plot/__init__.py +++ b/geoapps/scatter_plot/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scatter_plot/application.py b/geoapps/scatter_plot/application.py index 2fea84a39..73380cc2a 100644 --- a/geoapps/scatter_plot/application.py +++ b/geoapps/scatter_plot/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scatter_plot/constants.py b/geoapps/scatter_plot/constants.py index f660ddd7f..924b1c997 100644 --- a/geoapps/scatter_plot/constants.py +++ b/geoapps/scatter_plot/constants.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scatter_plot/driver.py b/geoapps/scatter_plot/driver.py index 8703fba9c..bb90481e7 100644 --- a/geoapps/scatter_plot/driver.py +++ b/geoapps/scatter_plot/driver.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scatter_plot/layout.py b/geoapps/scatter_plot/layout.py index 2738682a5..b1374ae10 100644 --- a/geoapps/scatter_plot/layout.py +++ b/geoapps/scatter_plot/layout.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scatter_plot/params.py b/geoapps/scatter_plot/params.py index 4e75e2970..463a3e1bd 100644 --- a/geoapps/scatter_plot/params.py +++ b/geoapps/scatter_plot/params.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scripts/__init__.py b/geoapps/scripts/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/scripts/__init__.py +++ b/geoapps/scripts/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/scripts/start_notebook.py b/geoapps/scripts/start_notebook.py index 64fe6e384..edcdd102c 100644 --- a/geoapps/scripts/start_notebook.py +++ b/geoapps/scripts/start_notebook.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/shared_utils/__init__.py b/geoapps/shared_utils/__init__.py index 13a8b0f67..a70539a08 100644 --- a/geoapps/shared_utils/__init__.py +++ b/geoapps/shared_utils/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/shared_utils/colors.py b/geoapps/shared_utils/colors.py index 1fd7dd721..fa0c4bc3b 100644 --- a/geoapps/shared_utils/colors.py +++ b/geoapps/shared_utils/colors.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/shared_utils/utils.py b/geoapps/shared_utils/utils.py index 6987e600c..93b650b5e 100644 --- a/geoapps/shared_utils/utils.py +++ b/geoapps/shared_utils/utils.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/triangulated_surfaces/__init__.py b/geoapps/triangulated_surfaces/__init__.py index 784d8eb14..52d3c14c5 100644 --- a/geoapps/triangulated_surfaces/__init__.py +++ b/geoapps/triangulated_surfaces/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/triangulated_surfaces/application.py b/geoapps/triangulated_surfaces/application.py index 5e274cc9f..6fe0dfdea 100644 --- a/geoapps/triangulated_surfaces/application.py +++ b/geoapps/triangulated_surfaces/application.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/__init__.py b/geoapps/utils/__init__.py index 80f85d19b..8a211dded 100644 --- a/geoapps/utils/__init__.py +++ b/geoapps/utils/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/formatters.py b/geoapps/utils/formatters.py index 7cec42bba..4d3c7fdac 100644 --- a/geoapps/utils/formatters.py +++ b/geoapps/utils/formatters.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/geophysical_systems.py b/geoapps/utils/geophysical_systems.py index f7bc5f242..2067e3d39 100644 --- a/geoapps/utils/geophysical_systems.py +++ b/geoapps/utils/geophysical_systems.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/importing.py b/geoapps/utils/importing.py index 2be52f4ee..ff2592bc1 100644 --- a/geoapps/utils/importing.py +++ b/geoapps/utils/importing.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/io.py b/geoapps/utils/io.py index 61b30f0df..cc35e8269 100644 --- a/geoapps/utils/io.py +++ b/geoapps/utils/io.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/list.py b/geoapps/utils/list.py index aa441fd4c..9dfc9e0b5 100644 --- a/geoapps/utils/list.py +++ b/geoapps/utils/list.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/models.py b/geoapps/utils/models.py index 0956cffae..9b2e4cc69 100644 --- a/geoapps/utils/models.py +++ b/geoapps/utils/models.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/plotting.py b/geoapps/utils/plotting.py index 6a14916c4..15fa03231 100644 --- a/geoapps/utils/plotting.py +++ b/geoapps/utils/plotting.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/statistics.py b/geoapps/utils/statistics.py index 6fe43f586..e226e78b7 100644 --- a/geoapps/utils/statistics.py +++ b/geoapps/utils/statistics.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/string.py b/geoapps/utils/string.py index 5db477158..b1511b806 100644 --- a/geoapps/utils/string.py +++ b/geoapps/utils/string.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/surveys.py b/geoapps/utils/surveys.py index 78b1d3167..e0f1645f8 100644 --- a/geoapps/utils/surveys.py +++ b/geoapps/utils/surveys.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/testing.py b/geoapps/utils/testing.py index 25df4161f..0512819b9 100644 --- a/geoapps/utils/testing.py +++ b/geoapps/utils/testing.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/workspace.py b/geoapps/utils/workspace.py index 155d99ba4..a335a0325 100644 --- a/geoapps/utils/workspace.py +++ b/geoapps/utils/workspace.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/geoapps/utils/write_default_uijson.py b/geoapps/utils/write_default_uijson.py index 881a591fa..d2cd463f0 100644 --- a/geoapps/utils/write_default_uijson.py +++ b/geoapps/utils/write_default_uijson.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/__init__.py b/tests/__init__.py index 108d4347e..8975e83b0 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/assets_path_test.py b/tests/assets_path_test.py index cc94d74ec..a13ba3e2c 100644 --- a/tests/assets_path_test.py +++ b/tests/assets_path_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/conftest.py b/tests/conftest.py index 512383eed..4ea468d31 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/data_transfer_test.py b/tests/data_transfer_test.py index 0202fe975..0f2fb8cdb 100644 --- a/tests/data_transfer_test.py +++ b/tests/data_transfer_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/em1d_run_test.py b/tests/em1d_run_test.py index 80d35b794..ace670750 100644 --- a/tests/em1d_run_test.py +++ b/tests/em1d_run_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/formatters_test.py b/tests/formatters_test.py index c7d642cf6..965a87a65 100644 --- a/tests/formatters_test.py +++ b/tests/formatters_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/iso_surfaces_test.py b/tests/iso_surfaces_test.py index 3cc749971..f73a49c34 100644 --- a/tests/iso_surfaces_test.py +++ b/tests/iso_surfaces_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/preprocessing_test.py b/tests/preprocessing_test.py index 1cd1ecba9..97b181b93 100644 --- a/tests/preprocessing_test.py +++ b/tests/preprocessing_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/pyproject_test.py b/tests/pyproject_test.py index 5c7e2c27d..5749e793f 100644 --- a/tests/pyproject_test.py +++ b/tests/pyproject_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/run_tests/apps_inversion_test.py b/tests/run_tests/apps_inversion_test.py index 5ed30bbea..c4e48209f 100644 --- a/tests/run_tests/apps_inversion_test.py +++ b/tests/run_tests/apps_inversion_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/run_tests/apps_run_test.py b/tests/run_tests/apps_run_test.py index abbf5aeba..95240cdc7 100644 --- a/tests/run_tests/apps_run_test.py +++ b/tests/run_tests/apps_run_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/utils_test.py b/tests/utils_test.py index 30b309df8..8d78f5cb0 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/version_test.py b/tests/version_test.py index 839454084..a58cebb42 100644 --- a/tests/version_test.py +++ b/tests/version_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' diff --git a/tests/write_default_uijson_test.py b/tests/write_default_uijson_test.py index 882781720..0c18d6dd6 100644 --- a/tests/write_default_uijson_test.py +++ b/tests/write_default_uijson_test.py @@ -1,5 +1,5 @@ # '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024 Mira Geoscience Ltd. ' +# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' # ' # This file is part of geoapps. ' # ' From 5a9803571d6a35de158882c487446d12b4dd5c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 21:33:04 -0500 Subject: [PATCH 02/22] also check copyright date in package.rst --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f0212cc50..452ba74b1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -45,7 +45,7 @@ repos: rev: v1.0.1 hooks: - id: check-copyright - files: (^LICENSE|^README(|-dev).rst|\.py|\.pyi)$ + files: (^package\.rst|^LICENSE|^README(|-dev)\.rst|\.py|\.pyi)$ exclude: (^\.|^docs/) - id: prepare-commit-msg - id: check-commit-msg From 753a73a5f9d0e14e55900920bfe448aff77a4e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 21:33:54 -0500 Subject: [PATCH 03/22] point last rc versions of git dependencies --- pyproject.toml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 653496610..99ef42975 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,34 +77,34 @@ pyside2 = "5.15.*" # from targeting-workflow, geo-unsup-mappper, peak-finder-ap ## pip dependencies from Git repositories #---------------------------------------- -geoh5py = {version = ">=0.10.0b3, <0.11.0a.dev", source = "pypi", allow-prereleases = true} +geoh5py = {version = ">=0.10.0rc1, <0.11.0a.dev", source = "pypi", allow-prereleases = true} #geoh5py = {git = "https://github.com/MiraGeoscience/geoh5py.git", rev = "release/0.10.0"} -param-sweeps = {version = ">=0.2.0b1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} +param-sweeps = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} #param-sweeps = {git = "https://github.com/MiraGeoscience/param-sweeps.git", rev = "release/0.2.0"} -curve-apps = {version = ">=0.2.0b1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} +curve-apps = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} #curve-apps = {git = "https://github.com/MiraGeoscience/curve-apps.git", rev = "release/0.2.0"} -#surface-apps = {version = ">=0.1.0b1, <0.2.0a.dev", source = "pypi", allow-prereleases = true} -surface-apps = {git = "https://github.com/MiraGeoscience/surface-apps.git", rev = "release/0.1.0"} +surface-apps = {version = ">=0.1.0rc1, <0.2.0a.dev", source = "pypi", allow-prereleases = true} +#surface-apps = {git = "https://github.com/MiraGeoscience/surface-apps.git", rev = "release/0.1.0"} -octree-creation-app = {version = ">=0.2.0b1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} +octree-creation-app = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} #octree-creation-app = {git = "https://github.com/MiraGeoscience/octree-creation-app.git", rev = "release/0.2.0"} -#peak-finder-app = {version = ">=0.2.0b3, <0.3.0a.dev", source = "pypi", allow-prereleases = true} -peak-finder-app = {git = "https://github.com/MiraGeoscience/peak-finder-app.git", rev = "release/0.2.0"} +peak-finder-app = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} +#peak-finder-app = {git = "https://github.com/MiraGeoscience/peak-finder-app.git", rev = "release/0.2.0"} -geoapps-utils = {version = ">=0.4.0b1, <0.5.0a.dev", source = "pypi", allow-prereleases = true} +geoapps-utils = {version = ">=0.4.0rc1, <0.5.0a.dev", source = "pypi", allow-prereleases = true} #geoapps-utils = {git = "https://github.com/MiraGeoscience/geoapps-utils.git", rev = "release/0.4.0"} -#simpeg-drivers = {version = ">=0.2.0b2, <0.3.0a.dev", source = "pypi", allow-prereleases = true} -simpeg-drivers = {git = "https://github.com/MiraGeoscience/simpeg-drivers.git", rev = "release/0.2.0"} +simpeg-drivers = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} +#simpeg-drivers = {git = "https://github.com/MiraGeoscience/simpeg-drivers.git", rev = "release/0.2.0"} simpeg-archive = {version = ">=0.11.0.1, <0.11.0.2", source = "pypi", allow-prereleases = true} #simpeg-archive = {git = "https://github.com/MiraGeoscience/simpeg.git", rev = "feature/simpeg_archive"} -mira-simpeg = {version = ">=0.21.2.1b2, <0.21.2.2a.dev", source="pypi", allow-prereleases = true, extras = ["dask"]} +mira-simpeg = {version = ">=0.21.2.1rc1, <0.21.2.2a.dev", source="pypi", allow-prereleases = true, extras = ["dask"]} #mira-simpeg = {git = "https://github.com/MiraGeoscience/simpeg.git", rev = "release/0.21.2.1", extras = ["dask"]} ## about pip dependencies From f074effdcac2c86111ccda41975095baa04b4f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 21:33:04 -0500 Subject: [PATCH 04/22] update pre-commit config --- .pre-commit-config.yaml | 66 +++++++++++++++-------------------------- pyproject.toml | 52 +++++++++++++++++++++++++++++--- 2 files changed, 72 insertions(+), 46 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6bb7e7b8d..037f0dd6e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ default_language_version: python: python3 exclude: (^docs/(conf.py|_ext/)) -default_stages: [commit,push] +default_stages: [pre-commit,pre-push] fail_fast: false ci: @@ -12,44 +12,43 @@ ci: repos: - repo: https://github.com/hadialqattan/pycln - rev: v2.4.0 + rev: v2.5.0 hooks: - id: pycln args: [--config=pyproject.toml] -- repo: https://github.com/PyCQA/isort - rev: 5.13.2 +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.9.1 hooks: - - id: isort - additional_dependencies: [tomli] # to read config from pyproject.toml -- repo: https://github.com/psf/black - rev: 24.4.2 - hooks: - - id: black -- repo: https://github.com/PyCQA/flake8 - rev: 7.0.0 - hooks: - - id: flake8 -- repo: https://github.com/asottile/pyupgrade - rev: v3.15.2 - hooks: - - id: pyupgrade - args: [--py310-plus] + - id: ruff + args: + - --fix + - --exit-non-zero-on-fix +# - --unsafe-fixes + - id: ruff-format #- repo: https://github.com/pre-commit/mirrors-mypy # TODO: fix mypy errors # rev: v1.10.0 # hooks: # - id: mypy # additional_dependencies: [ -# numpy==1.26.*, # pre-commit CI does not provide numpy 1.23.* +# numpy==1.26.*, # types-toml, # types-PyYAML, # tomli # to read config from pyproject.toml # ] # exclude: ^(docs|geoapps-assets)/ - repo: https://github.com/codingjoe/relint - rev: 3.1.1 + rev: 3.3.1 hooks: - id: relint args: [-W] # to fail on warnings +- repo: https://github.com/MiraGeoscience/pre-commit-hooks + rev: v1.1.0 + hooks: + - id: check-copyright + files: (^package\.rst|^LICENSE|^README(|-dev)\.rst|\.py|\.pyi)$ + exclude: (^\.|^docs/) + - id: prepare-commit-msg + - id: check-commit-msg - repo: local hooks: - id: pylint @@ -59,31 +58,14 @@ repos: require_serial: true # pylint does its own parallelism types: [python] exclude: ^(devtools|docs)/ - - id: check-copyright - name: Check copyright - entry: python devtools/check-copyright.py - language: python - types: [text] - files: (^LICENSE|^README(|-dev).rst|\.py|\.pyi)$ - exclude: (^\.|^docs/) - - id: prepare-commit-msg - stages: [prepare-commit-msg] - name: Prepare commit message - entry: python devtools/git_message_hook.py --prepare - language: python - - id: check-commit-msg - stages: [commit-msg] - name: Check commit message - entry: python devtools/git_message_hook.py --check - language: python - repo: https://github.com/codespell-project/codespell - rev: v2.2.6 + rev: v2.3.0 hooks: - id: codespell exclude: (-lock\.ya?ml|\benvironments/.*\.ya?ml|\.ipynb|^THIRD_PARTY_SOFTWARE\.rst)$ entry: codespell -I .codespellignore - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: trailing-whitespace exclude: \.mdj$ @@ -91,7 +73,7 @@ repos: exclude_types: [jupyter] - id: check-toml - id: check-yaml -# - id: check-added-large-files # crashing on some configuration. To be investigated + - id: check-added-large-files - id: check-case-conflict - id: check-merge-conflict - id: debug-statements @@ -111,7 +93,7 @@ repos: exclude_types: [jupyter] exclude: ^docs/.*/images/ - repo: https://github.com/rstcheck/rstcheck - rev: v6.2.0 + rev: v6.2.4 hooks: - id: rstcheck exclude: ^THIRD_PARTY_SOFTWARE.rst$ diff --git a/pyproject.toml b/pyproject.toml index 91411551d..52e54cac7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -159,11 +159,55 @@ tomli = "*" platforms = ['win-64', 'linux-64'] channels = ['conda-forge'] -[tool.isort] -profile = "black" +[tool.ruff] +target-version = "py310" + +[tool.ruff.lint] +ignore = [ + "B028", # no-explicit-stacklevel for warnings.warn() + "E501", # line-too-long - code is reformatted (do not care about comments and docstring) + "F401", # unsused-import - covered by pycln + "RUF005", # TO DO + "B007", # TO DO + "B011", # TO DO + "B904", # TO DO + "C408", # TO DO + "C414", # TO DO + "C416", # TO DO + "C419", # TO DO + "C901", # TO DO + "RUF005", # collection-literal-concatenation - wrong suggestion with numpy arrays + "RUF012", # TO DO + "RUF013", # TO DO + "RUF015", # TO DO + "UP038", # TO DO + "TID252", # TO DO +] +select = [ + "A", # flake8-builtins + "B", # flake8-bugbear + "B006", # Do not use mutable data structures for argument defaults + "B9", # flake8-bugbear opiniated warnings + "BLE", # flake8-blind-except + "C4", # flake8-comprehensions + "C9", # mccabe + "E", # pycodestyle errors + "F", # pyflakes + "I", # isort + "RUF", # ruff rules + "TID", # flake8-tidy-imports + "UP", # pyupgrade + "W", # pycodestyle warnings +] + +[tool.ruff.lint.mccabe] +max-complexity = 18 + +[tool.ruff.lint.isort] +lines-after-imports = 2 -[tool.black] -# defaults are just fine +[tool.ruff.format] +# default formatting is just fine [tool.mypy] warn_unused_configs = true From 526d1dc0df7b2568a9575e7d43b4d400b09f9ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 21:41:17 -0500 Subject: [PATCH 05/22] do not include license file in sdist as per instructions of Poetry doc --- pyproject.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 52e54cac7..e268ff841 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,12 +19,12 @@ exclude = [ ] include = [ - { path = "COPYING", format = ["sdist", "wheel"] }, - { path = "COPYING.LESSER", format = ["sdist", "wheel"] }, - { path = "LICENSE", format = ["sdist", "wheel"] }, - { path = "README.rst", format = ["sdist", "wheel"] }, - { path = "THIRD_PARTY_SOFTWARE.rst", format = ["sdist", "wheel"] }, - { path = "docs/**/THIRD_PARTY_SOFTWARE.rst", format = ["sdist", "wheel"] }, + { path = "COPYING" }, + { path = "COPYING.LESSER" }, + { path = "LICENSE" }, + { path = "README.rst" }, + { path = "THIRD_PARTY_SOFTWARE.rst" }, + { path = "docs/**/THIRD_PARTY_SOFTWARE.rst" }, ] keywords = ["geology", "geophysics", "earth sciences"] From 1b8820b2451fb9d75f93c24ef57b024f1972b49d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 21:43:20 -0500 Subject: [PATCH 06/22] remove now unnecessary dev scripts --- devtools/check-copyright.py | 53 --------- devtools/git_message_hook.py | 224 ----------------------------------- 2 files changed, 277 deletions(-) delete mode 100644 devtools/check-copyright.py delete mode 100644 devtools/git_message_hook.py diff --git a/devtools/check-copyright.py b/devtools/check-copyright.py deleted file mode 100644 index 664c5adfa..000000000 --- a/devtools/check-copyright.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 - -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' -# ' -# This file is part of geoapps. ' -# ' -# geoapps is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -from __future__ import annotations - -import re -import sys -from datetime import date - -if __name__ == "__main__": - current_year = date.today().year - copyright_re = re.compile( - rf"\bcopyright \(c\) (:?\d{{4}}-|)\b{current_year}\b", re.IGNORECASE - ) - files = sys.argv[1:] - max_lines = 10 - report_files = [] - for f in files: - with open(f, encoding="utf-8") as file: - count = 0 - has_dated_copyright = False - for line in file: - count += 1 - if count >= max_lines and not ( - f.endswith("README.rst") or f.endswith("README-dev.rst") - ): - break - if re.search(copyright_re, line): - has_dated_copyright = True - break - - if not has_dated_copyright: - report_files.append(f) - - if len(report_files) > 0: - for f in report_files: - sys.stderr.write(f"{f}: No copyright or invalid year\n") - sys.exit(1) - -# readonly CURRENT_YEAR=$(date +"%Y") - -# if ! grep -e "Copyright (c) .*$CURRENT_YEAR" $(head -10 $f) 2>&1 1>/dev/null; then -# echo "File '$f' has no copyright or an invalid year" -# exit 1 -# fi diff --git a/devtools/git_message_hook.py b/devtools/git_message_hook.py deleted file mode 100644 index 3fd8a2a7f..000000000 --- a/devtools/git_message_hook.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/env python3 - -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' -# ' -# This file is part of geoapps. ' -# ' -# geoapps is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -"""Some Git pre-commit hooks implementations.""" - -from __future__ import annotations - -import argparse -import re -import shlex -import subprocess -import sys - - -def get_jira_id(text) -> str: - """Detect a JIRA issue ID at the begging of the given text. - - :return: the JIRA issue ID if found, else empty string - """ - - class JiraPattern: - """Internal class that encapsulates the regular expression for the JIRA pattern, - making sure it gets compiled only once.""" - - __pattern = re.compile( - r"(?:GEOPY|DEVOPS|QA|GI|GA|GMS|VPem1D|VPem3D|VPmg|UBCGIF|LICMGR)-\d+" - ) - - @staticmethod - def get(): - """:return: the compiled regular expression for the JIRA pattern""" - return JiraPattern.__pattern - - # use re.match() rather than re.search() to enforce the JIRA reference to be at the beginning - match = re.match(JiraPattern.get(), text.strip()) - return match.group(0) if match else "" - - -def get_branch_name() -> str | None: - """:return: the name of the current branch""" - - git_proc = subprocess.run( - shlex.split("git branch --list"), stdout=subprocess.PIPE, text=True, check=False - ) - - # cannot use HEAD during rebase - # git_proc = subprocess.run( - # shlex.split('git symbolic-ref --short HEAD'), stdout=subprocess.PIPE, universal_newlines=True - # ) - # Note: version above suggested by Atlassian. Could also use: git rev-parse --abbrev-ref HEAD - - if git_proc.returncode != 0: - return None - - current_branch = None - # current branch is prefixed by '*' - for line in git_proc.stdout.splitlines(): - stripped = line.strip() - if stripped and stripped[0] == "*": - current_branch = stripped[1:] - break - assert current_branch is not None - - class RebasingPattern: - """Internal class that encapsulates the regular expression for the rebasing - message pattern, making sure it gets compiled only once.""" - - __pattern = re.compile(r"\(.*\s(\S+)\s*\)") - - @staticmethod - def get(): - """:return: the compiled regular expression for the Rebasing pattern""" - return RebasingPattern.__pattern - - match = re.match(RebasingPattern.get(), current_branch.strip()) - if match: - return match.group(1) - - return current_branch - - -def check_commit_message(filepath: str) -> tuple[bool, str]: - """Check if the branch name or the commit message starts with a reference to JIRA, - and if the message meets the minimum required length for the summary line. - - The JIRA reference has to be at the beginning of the branch name, or of the commit - message. - :return: a tuple telling whether the commit message is valid or not, and an error - message (empty in case the message is valid). - """ - - branch_jira_id = "" - branch_name = get_branch_name() - if branch_name: - branch_jira_id = get_jira_id(branch_name) - - message_jira_id = "" - first_line = None - with open(filepath) as message_file: - for line in message_file: - if not line.startswith("#") and len(line.strip()) > 0: - # test only the first non-comment line that is not empty - # (should we reject messages with empty first line?) - first_line = line - message_jira_id = get_jira_id(first_line) - break - assert first_line is not None - - if not branch_jira_id and not ( - message_jira_id or first_line.strip().lower().startswith("merge") - ): - return ( - False, - "Either the branch name or the commit message must start with a JIRA ID.", - ) - - if branch_jira_id and message_jira_id and branch_jira_id != message_jira_id: - return ( - False, - "Different JIRA ID in commit message %s and in branch name %s." - % (message_jira_id, branch_jira_id), - ) - - stripped_message_line = "" - if first_line: - stripped_message_line = first_line.strip() - if message_jira_id: - stripped_message_line = stripped_message_line[ - len(message_jira_id) + 1 : - ].strip() - - min_required_length = 10 - if len(stripped_message_line) < min_required_length: - return ( - False, - "First line of commit message must be at least %s characters long, " - "beyond the JIRA ID." % min_required_length, - ) - - return True, "" - - -def check_commit_msg(filepath: str) -> None: - """To be used a the Git commit-msg hook. - - Exit with non-0 status if the commit message is deemed invalid. - """ - - (is_valid, error_message) = check_commit_message(filepath) - if not is_valid: - print( - """commit-msg hook: **ERROR** %s - Message has been saved to %s.""" - % (error_message, filepath) - ) - sys.exit(1) - - -def prepare_commit_msg(filepath: str, source: str | None = None) -> None: - """To be used a the Git prepare-commit-msg hook. - - Will add the JIRA ID found in the branch name in case it is missing from the commit - message. - """ - - branch_jira_id = "" - branch_name = get_branch_name() - if branch_name: - branch_jira_id = get_jira_id(branch_name) - - if not branch_jira_id: - return - - if source not in [None, "message", "template"]: - return - - with open(filepath, "r+", encoding="utf-8") as message_file: - message_has_jira_id = False - message_lines = message_file.readlines() - for line_index, line_content in enumerate(message_lines): - if not line_content.startswith("#"): - # test only the first non-comment line - message_jira_id = get_jira_id(line_content) - if not message_jira_id: - message_lines[line_index] = branch_jira_id + ": " + line_content - message_has_jira_id = True - break - - if not message_has_jira_id: - # message is empty or all lines are comments: insert JIRA ID at the very beginning - message_lines.insert(0, branch_jira_id + ": ") - - message_file.seek(0, 0) - message_file.write("".join(message_lines)) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument("msg_file", help="the message file") - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument( - "-p", "--prepare", action="store_true", help="prepare the commit message" - ) - group.add_argument( - "-c", - "--check", - action="store_true", - help="check if the commit message is valid", - ) - parser.add_argument("args", nargs=argparse.REMAINDER) - - args = parser.parse_args() - if args.prepare: - prepare_commit_msg(args.msg_file, *args.args) - elif args.check: - check_commit_msg(args.msg_file) From 37ec43847434202a20702997b161fdd11122715e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 23:29:25 -0500 Subject: [PATCH 07/22] exclude notebook from Ruff checks as notebooks are on LFS, and pre-commit.ci does not support LFS --- .pre-commit-config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 037f0dd6e..e247202da 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -24,7 +24,9 @@ repos: - --fix - --exit-non-zero-on-fix # - --unsafe-fixes + exclude_types: [jupyter] - id: ruff-format + exclude_types: [jupyter] #- repo: https://github.com/pre-commit/mirrors-mypy # TODO: fix mypy errors # rev: v1.10.0 # hooks: @@ -74,6 +76,7 @@ repos: - id: check-toml - id: check-yaml - id: check-added-large-files +# args: [--enforce-all] - id: check-case-conflict - id: check-merge-conflict - id: debug-statements From b0f75eee5adb4aa63536eb611ce1500f36b9f7f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 21:44:33 -0500 Subject: [PATCH 08/22] apply auto-formatting --- geoapps/base/application.py | 19 +++--- geoapps/base/dash_application.py | 11 ++- geoapps/base/layout.py | 1 + geoapps/base/plot.py | 1 + geoapps/base/selection.py | 37 +++++----- geoapps/block_model_creation/constants.py | 1 + geoapps/block_model_creation/layout.py | 1 + geoapps/calculator/application.py | 5 +- geoapps/clustering/application.py | 2 +- geoapps/clustering/constants.py | 1 + geoapps/clustering/driver.py | 5 +- geoapps/clustering/layout.py | 1 + geoapps/contours/constants.py | 1 + geoapps/contours/driver.py | 4 +- .../coordinate_transformation/application.py | 2 + geoapps/driver_base/params.py | 12 ++-- geoapps/driver_base/utils.py | 4 +- geoapps/edge_detection/application.py | 1 + geoapps/edge_detection/constants.py | 1 + geoapps/edge_detection/driver.py | 4 +- geoapps/export/application.py | 16 +++-- geoapps/export/utils.py | 1 + geoapps/interpolation/application.py | 7 +- geoapps/interpolation/constants.py | 1 + geoapps/interpolation/driver.py | 20 +++--- geoapps/inversion/constants.py | 1 + geoapps/inversion/electricals/application.py | 9 +-- .../pseudo_three_dimensions/constants.py | 1 + .../three_dimensions/constants.py | 1 + .../two_dimensions/constants.py | 1 + .../pseudo_three_dimensions/constants.py | 1 + .../three_dimensions/constants.py | 1 + .../two_dimensions/constants.py | 1 + .../inversion/electromagnetics/application.py | 7 +- geoapps/inversion/electromagnetics/driver.py | 6 +- .../frequency_domain/constants.py | 1 + .../electromagnetics/time_domain/constants.py | 1 + geoapps/inversion/joint/constants.py | 1 + .../joint/joint_cross_gradient/constants.py | 1 + .../joint/joint_surveys/constants.py | 1 + .../magnetotellurics/constants.py | 1 + .../natural_sources/tipper/constants.py | 1 + .../inversion/potential_fields/application.py | 9 +-- .../potential_fields/gravity/constants.py | 1 + .../potential_fields/gravity/layout.py | 1 + .../magnetic_scalar/constants.py | 1 + .../magnetic_scalar/layout.py | 1 + .../magnetic_vector/constants.py | 1 + .../magnetic_vector/layout.py | 1 + geoapps/inversion/utils.py | 9 ++- geoapps/iso_surfaces/application.py | 1 + geoapps/iso_surfaces/constants.py | 1 + geoapps/iso_surfaces/driver.py | 4 +- geoapps/octree_creation/application.py | 7 +- geoapps/octree_creation/constants.py | 1 + geoapps/peak_finder/application.py | 1 - geoapps/peak_finder/constants.py | 1 + geoapps/scatter_plot/application.py | 27 +++++--- geoapps/scatter_plot/constants.py | 1 + geoapps/scatter_plot/layout.py | 1 + geoapps/shared_utils/colors.py | 1 + geoapps/shared_utils/utils.py | 12 ++-- geoapps/triangulated_surfaces/application.py | 17 ++--- geoapps/utils/models.py | 6 +- geoapps/utils/plotting.py | 25 ++++--- geoapps/utils/surveys.py | 7 +- geoapps/utils/write_default_uijson.py | 1 + tests/__init__.py | 1 + tests/formatters_test.py | 6 +- tests/run_tests/apps_inversion_test.py | 47 ++++++------- tests/run_tests/apps_run_test.py | 1 + tests/utils_test.py | 67 ++++++++++--------- 72 files changed, 266 insertions(+), 189 deletions(-) diff --git a/geoapps/base/application.py b/geoapps/base/application.py index 4aa504539..bea609f4f 100644 --- a/geoapps/base/application.py +++ b/geoapps/base/application.py @@ -32,6 +32,7 @@ from geoapps.utils import warn_module_not_found + with warn_module_not_found(): from ipyfilechooser import FileChooser @@ -142,7 +143,7 @@ def __populate__(self, **kwargs): if isinstance(widget, Text): value = list2str(value) - setattr(widget, "value", value) + widget.value = value if hasattr(widget, "style"): widget.style = {"description_width": "initial"} @@ -178,7 +179,7 @@ def file_browser_change(self, _): self.geoh5.close() if extension == ".json" and getattr(self, "_param_class", None) is not None: - self.params = getattr(self, "_param_class")( + self.params = self._param_class( InputFile.read_ui_json(self.file_browser.selected) ) self.refresh.value = False @@ -220,7 +221,7 @@ def live_link_choice(self, _): ) if getattr(self, "_params", None) is not None: - setattr(self.params, "monitoring_directory", self.monitoring_directory) + self.params.monitoring_directory = self.monitoring_directory self.monitoring_panel.children[0].value = "Monitoring path:" else: self.monitoring_panel.children[0].value = "Save to:" @@ -384,9 +385,9 @@ def params(self) -> BaseParams: @params.setter def params(self, params: BaseParams): - assert isinstance( - params, BaseParams - ), f"Input parameters must be an instance of {BaseParams}" + assert isinstance(params, BaseParams), ( + f"Input parameters must be an instance of {BaseParams}" + ) self._params = params @@ -427,9 +428,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) @property diff --git a/geoapps/base/dash_application.py b/geoapps/base/dash_application.py index e6cb39d61..9d9f4d828 100644 --- a/geoapps/base/dash_application.py +++ b/geoapps/base/dash_application.py @@ -200,9 +200,8 @@ def get_params_dict(self, update_dict: dict) -> dict: for key in self.params.to_dict(): if key in update_dict: if ( - bool in validations[key]["types"] - and type(update_dict[key]) == list # noqa: E721 - ): # noqa: E721 + bool in validations[key]["types"] and type(update_dict[key]) == list # noqa: E721 + ): # Convert from dash component checklist to bool if not update_dict[key]: output_dict[key] = False @@ -319,9 +318,9 @@ def params(self) -> BaseParams: @params.setter def params(self, params: BaseParams): - assert isinstance( - params, BaseParams - ), f"Input parameters must be an instance of {BaseParams}" + assert isinstance(params, BaseParams), ( + f"Input parameters must be an instance of {BaseParams}" + ) self._params = params diff --git a/geoapps/base/layout.py b/geoapps/base/layout.py index 5b2dcdad4..a1646b524 100644 --- a/geoapps/base/layout.py +++ b/geoapps/base/layout.py @@ -11,6 +11,7 @@ from dash import dcc, html + workspace_layout = html.Div( [ dcc.Upload( diff --git a/geoapps/base/plot.py b/geoapps/base/plot.py index d49a6151c..e8343f137 100644 --- a/geoapps/base/plot.py +++ b/geoapps/base/plot.py @@ -21,6 +21,7 @@ from geoapps.utils import warn_module_not_found from geoapps.utils.plotting import plot_plan_data_selection + with warn_module_not_found(): from matplotlib import pyplot as plt diff --git a/geoapps/base/selection.py b/geoapps/base/selection.py index 6010a63f3..465736dd8 100644 --- a/geoapps/base/selection.py +++ b/geoapps/base/selection.py @@ -20,6 +20,7 @@ from geoapps.utils.list import find_value from geoapps.utils.workspace import sorted_children_dict + with warn_module_not_found(): import ipywidgets as widgets from ipywidgets import Dropdown, FloatText, SelectMultiple, VBox @@ -89,9 +90,9 @@ def data(self) -> Dropdown | SelectMultiple: @data.setter def data(self, value): - assert isinstance( - value, (Dropdown, SelectMultiple) - ), f"'Objects' must be of type {Dropdown} or {SelectMultiple}" + assert isinstance(value, (Dropdown, SelectMultiple)), ( + f"'Objects' must be of type {Dropdown} or {SelectMultiple}" + ) self._data = value @property @@ -143,9 +144,9 @@ def object_types(self, entity_types): entity_types = tuple(entity_types) for entity_type in entity_types: - assert issubclass( - entity_type, ObjectBase - ), f"Provided object_types must be instances of {ObjectBase}" + assert issubclass(entity_type, ObjectBase), ( + f"Provided object_types must be instances of {ObjectBase}" + ) self._object_types = entity_types @@ -165,9 +166,9 @@ def exclusion_types(self, entity_types): entity_types = tuple(entity_types) for entity_type in entity_types: - assert issubclass( - entity_type, ObjectBase - ), f"Provided exclusion_types must be instances of {ObjectBase}" + assert issubclass(entity_type, ObjectBase), ( + f"Provided exclusion_types must be instances of {ObjectBase}" + ) self._exclusion_types = tuple(entity_types) @@ -190,9 +191,9 @@ def find_label(self, values): values = [values] for value in values: - assert isinstance( - value, str - ), f"Labels to find must be strings. Value {value} of type {type(value)} provided" + assert isinstance(value, str), ( + f"Labels to find must be strings. Value {value} of type {type(value)} provided" + ) self._find_label = values @property @@ -233,9 +234,9 @@ def workspace(self) -> Workspace | None: @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) # Refresh the list of objects @@ -458,9 +459,9 @@ def multiple_lines(self): @multiple_lines.setter def multiple_lines(self, value): - assert isinstance( - value, bool - ), f"'multiple_lines' property must be of type {bool}" + assert isinstance(value, bool), ( + f"'multiple_lines' property must be of type {bool}" + ) self._multiple_lines = value def update_line_list(self, _): diff --git a/geoapps/block_model_creation/constants.py b/geoapps/block_model_creation/constants.py index 84aff5e69..0c26346a6 100644 --- a/geoapps/block_model_creation/constants.py +++ b/geoapps/block_model_creation/constants.py @@ -17,6 +17,7 @@ import geoapps from geoapps import assets_path + defaults = { "version": geoapps.__version__, "title": "Block Model Creation", diff --git a/geoapps/block_model_creation/layout.py b/geoapps/block_model_creation/layout.py index 92e2ddc7e..fd838617c 100644 --- a/geoapps/block_model_creation/layout.py +++ b/geoapps/block_model_creation/layout.py @@ -11,6 +11,7 @@ from dash import dcc, html + block_model_layout = html.Div( [ dcc.Upload( diff --git a/geoapps/calculator/application.py b/geoapps/calculator/application.py index b96ce5290..2ec6320ed 100644 --- a/geoapps/calculator/application.py +++ b/geoapps/calculator/application.py @@ -22,6 +22,7 @@ from geoapps.utils.plotting import plot_plan_data_selection from geoapps.utils.workspace import sorted_children_dict + with warn_module_not_found(): from ipywidgets.widgets import Button, HBox, Layout, Text, Textarea, VBox @@ -35,7 +36,9 @@ class Calculator(ObjectDataSelection): - assert numpy # to make sure numpy is imported here, as it is required to eval the equation + assert ( + numpy + ) # to make sure numpy is imported here, as it is required to eval the equation _select_multiple = True diff --git a/geoapps/clustering/application.py b/geoapps/clustering/application.py index 5d2001488..83efb0adc 100644 --- a/geoapps/clustering/application.py +++ b/geoapps/clustering/application.py @@ -740,7 +740,7 @@ def update_colormap(n_clusters: int, color_pickers: list) -> list: color_map[ii] = [ np.min([ii / (n_clusters - 1), 1]), "rgb(" - + ",".join([f"{int(color[i:i + 2], 16)}" for i in (0, 2, 4)]) + + ",".join([f"{int(color[i : i + 2], 16)}" for i in (0, 2, 4)]) + ")", ] else: diff --git a/geoapps/clustering/constants.py b/geoapps/clustering/constants.py index b80329bbf..9b7371655 100644 --- a/geoapps/clustering/constants.py +++ b/geoapps/clustering/constants.py @@ -18,6 +18,7 @@ from geoapps import assets_path from geoapps.scatter_plot.constants import default_ui_json as base_default_ui_json + defaults = { "version": geoapps.__version__, "title": "Clustering", diff --git a/geoapps/clustering/driver.py b/geoapps/clustering/driver.py index 658d3c3e7..a6be896d1 100644 --- a/geoapps/clustering/driver.py +++ b/geoapps/clustering/driver.py @@ -15,6 +15,7 @@ from geoh5py.workspace import Workspace + os.environ["OMP_NUM_THREADS"] = "1" import numpy as np @@ -218,7 +219,9 @@ def run(self): ast.literal_eval(self.params.data_subset), self.params.geoh5, ) - full_scales_dict = dict(zip(self.params.data_subset, self.params.full_scales)) + full_scales_dict = dict( + zip(self.params.data_subset, self.params.full_scales, strict=False) + ) kmeans, _ = ClusteringDriver.run_clustering( self.params.n_clusters, dataframe, diff --git a/geoapps/clustering/layout.py b/geoapps/clustering/layout.py index 35d661024..9af43dac3 100644 --- a/geoapps/clustering/layout.py +++ b/geoapps/clustering/layout.py @@ -15,6 +15,7 @@ from geoapps.base.layout import workspace_layout from geoapps.scatter_plot.layout import axis_layout, downsampling_layout, plot_layout + # Layout for histogram, stats table, confusion matrix norm_tabs_layout = html.Div( id="norm_tabs", diff --git a/geoapps/contours/constants.py b/geoapps/contours/constants.py index 7f2e5f5aa..46a68081a 100644 --- a/geoapps/contours/constants.py +++ b/geoapps/contours/constants.py @@ -17,6 +17,7 @@ import geoapps from geoapps import assets_path + defaults = { "version": geoapps.__version__, "title": "Create Contours", diff --git a/geoapps/contours/driver.py b/geoapps/contours/driver.py index f5d83628e..cf8fe8cd3 100644 --- a/geoapps/contours/driver.py +++ b/geoapps/contours/driver.py @@ -59,7 +59,9 @@ def run(self): if contour_set is not None: vertices, cells, values = [], [], [] count = 0 - for segs, level in zip(contour_set.allsegs, contour_set.levels): + for segs, level in zip( + contour_set.allsegs, contour_set.levels, strict=False + ): for poly in segs: n_v = len(poly) vertices.append(poly) diff --git a/geoapps/coordinate_transformation/application.py b/geoapps/coordinate_transformation/application.py index c44dedfa6..fb1fa4e49 100644 --- a/geoapps/coordinate_transformation/application.py +++ b/geoapps/coordinate_transformation/application.py @@ -26,6 +26,7 @@ from ..base.application import BaseApplication + with warn_module_not_found(): from ipywidgets import HBox, Layout, SelectMultiple, Text, Textarea, VBox @@ -34,6 +35,7 @@ from uuid import UUID + with warn_module_not_found(): from osgeo import gdal, osr diff --git a/geoapps/driver_base/params.py b/geoapps/driver_base/params.py index 6b0245685..a49a57306 100644 --- a/geoapps/driver_base/params.py +++ b/geoapps/driver_base/params.py @@ -122,7 +122,7 @@ def update(self, params_dict: dict[str, Any]): """Update parameters with dictionary contents.""" params_dict = self.input_file.numify(params_dict) if params_dict.get("geoh5", None) is not None and self.input_file.geoh5 is None: - setattr(self, "geoh5", params_dict.pop("geoh5")) + self.geoh5 = params_dict.pop("geoh5") with fetch_active_workspace(self.geoh5): params_dict = self.input_file.promote(params_dict) # pylint: disable=W0212 @@ -242,7 +242,9 @@ def free_parameter_dict(self): # TODO Create a geoh5py validation for "allof" -> ["object", "levels", "type", "distance"] free_parameter_dict[group] = {} forms = utils.collect(self.ui_json, "group", group) - for label, key in zip(forms, self._free_parameter_keys): + for label, key in zip( + forms, self._free_parameter_keys, strict=False + ): if key not in label.lower(): raise ValueError( f"Malformed input refinement group {group}. " @@ -268,9 +270,9 @@ def validations(self) -> dict[str, Any]: @validations.setter def validations(self, validations: dict[str, Any]): - assert isinstance( - validations, dict - ), "Input value must be a dictionary of validations." + assert isinstance(validations, dict), ( + "Input value must be a dictionary of validations." + ) self._validations = validations @property diff --git a/geoapps/driver_base/utils.py b/geoapps/driver_base/utils.py index 61dcc02c6..6652082f2 100644 --- a/geoapps/driver_base/utils.py +++ b/geoapps/driver_base/utils.py @@ -57,8 +57,8 @@ def running_mean( def treemesh_2_octree(workspace, treemesh, **kwargs): - index_array, levels = getattr(treemesh, "_ubc_indArr") - ubc_order = getattr(treemesh, "_ubc_order") + index_array, levels = treemesh._ubc_indArr + ubc_order = treemesh._ubc_order index_array = index_array[ubc_order] - 1 levels = levels[ubc_order] diff --git a/geoapps/edge_detection/application.py b/geoapps/edge_detection/application.py index 72d19063d..6fb496aef 100644 --- a/geoapps/edge_detection/application.py +++ b/geoapps/edge_detection/application.py @@ -28,6 +28,7 @@ from geoapps.utils import warn_module_not_found from geoapps.utils.formatters import string_name + with warn_module_not_found(): from ipywidgets import Button, FloatSlider, HBox, IntSlider, Layout, Text, VBox diff --git a/geoapps/edge_detection/constants.py b/geoapps/edge_detection/constants.py index ab4f8000b..3a4a41ca2 100644 --- a/geoapps/edge_detection/constants.py +++ b/geoapps/edge_detection/constants.py @@ -17,6 +17,7 @@ import geoapps from geoapps import assets_path + defaults = { "version": geoapps.__version__, "title": "Edge Detection", diff --git a/geoapps/edge_detection/driver.py b/geoapps/edge_detection/driver.py index 71c13ebd2..39fb3f187 100644 --- a/geoapps/edge_detection/driver.py +++ b/geoapps/edge_detection/driver.py @@ -30,9 +30,7 @@ class EdgeDetectionDriver(BaseDriver): _params_class = EdgeDetectionParams _validations = validations - def __init__( - self, params: EdgeDetectionParams - ): # pylint: disable=useless-super-delegation + def __init__(self, params: EdgeDetectionParams): # pylint: disable=useless-super-delegation super().__init__(params) def run(self): diff --git a/geoapps/export/application.py b/geoapps/export/application.py index 444758993..c055cdd99 100644 --- a/geoapps/export/application.py +++ b/geoapps/export/application.py @@ -24,6 +24,7 @@ from geoapps.utils.io import export_grid_2_geotiff from geoapps.utils.plotting import plot_plan_data_selection + with warn_module_not_found(): from matplotlib import pyplot as plt @@ -31,11 +32,12 @@ from osgeo import osr with warn_module_not_found(): - from ipywidgets.widgets import HBox, VBox from ipywidgets import Dropdown, FloatText, Layout, RadioButtons, Text, Textarea + from ipywidgets.widgets import HBox, VBox from .utils import export_curve_2_shapefile, object_2_dataframe + app_initializer = { "geoh5": str(assets_path() / "FlinFlon.geoh5"), "objects": UUID("{538a7eb1-2218-4bec-98cc-0a759aa0ef4f}"), @@ -205,9 +207,9 @@ def _export_csv(self, entity, fields): ) def _export_shapefile(self, entity): - assert isinstance( - entity, Curve - ), f"Only Curve objects are support for type {self.file_type.value}" + assert isinstance(entity, Curve), ( + f"Only Curve objects are support for type {self.file_type.value}" + ) if self.data.value: for key in self.data.value: @@ -276,9 +278,9 @@ def _export_geotiff(self, entity): print(f"Object saved to {name}") def _export_ubc(self, entity, data_values): - assert isinstance( - entity, (Octree, BlockModel) - ), "Export available for BlockModel or octree only" + assert isinstance(entity, (Octree, BlockModel)), ( + "Export available for BlockModel or octree only" + ) if isinstance(entity, Octree): mesh = octree_2_treemesh(entity) diff --git a/geoapps/export/utils.py b/geoapps/export/utils.py index fe1de4a28..5fbf9b594 100644 --- a/geoapps/export/utils.py +++ b/geoapps/export/utils.py @@ -14,6 +14,7 @@ from geoapps.utils import warn_module_not_found + with warn_module_not_found(): from shapely.geometry import LineString, mapping diff --git a/geoapps/interpolation/application.py b/geoapps/interpolation/application.py index faf223ac3..4cf916183 100644 --- a/geoapps/interpolation/application.py +++ b/geoapps/interpolation/application.py @@ -26,6 +26,7 @@ from geoapps.interpolation.params import DataInterpolationParams from geoapps.utils import warn_module_not_found + with warn_module_not_found(): from ipywidgets import Dropdown, FloatText, HBox, Label, RadioButtons, VBox @@ -234,9 +235,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) self.update_objects_list() self.out_object.options = self.objects.options diff --git a/geoapps/interpolation/constants.py b/geoapps/interpolation/constants.py index e9828fbf0..dad955d53 100644 --- a/geoapps/interpolation/constants.py +++ b/geoapps/interpolation/constants.py @@ -17,6 +17,7 @@ import geoapps from geoapps import assets_path + defaults = { "version": geoapps.__version__, "title": "Data Transfer", diff --git a/geoapps/interpolation/driver.py b/geoapps/interpolation/driver.py index 5ed3a3b38..077470fb8 100644 --- a/geoapps/interpolation/driver.py +++ b/geoapps/interpolation/driver.py @@ -71,13 +71,13 @@ def run(self): for key in values_interp.keys(): if self.params.space == "Log": values_interp[key] = sign[key] * np.exp(values_interp[key]) - values_interp[key][ - np.isnan(values_interp[key]) - ] = self.params.no_data_value + values_interp[key][np.isnan(values_interp[key])] = ( + self.params.no_data_value + ) if self.params.max_distance is not None: - values_interp[key][ - rad > self.params.max_distance - ] = self.params.no_data_value + values_interp[key][rad > self.params.max_distance] = ( + self.params.no_data_value + ) elif self.params.method == "Inverse Distance": print("Computing inverse distance interpolation") # Inverse distance @@ -103,7 +103,7 @@ def run(self): return_indices=True, ) - for key, val in zip(list(values.keys()), vals): + for key, val in zip(list(values.keys()), vals, strict=False): values_interp[key] = val sign[key] = sign[key][ind_inv[:, 0]] @@ -152,9 +152,9 @@ def run(self): rad, _ = tree.query(xyz_out_orig[:, :2]) for key in values_interp.keys(): if self.params.max_distance is not None: - values_interp[key][ - rad > self.params.max_distance - ] = self.params.no_data_value + values_interp[key][rad > self.params.max_distance] = ( + self.params.no_data_value + ) for key in values_interp.keys(): if dtype[key] == np.dtype("int32"): diff --git a/geoapps/inversion/constants.py b/geoapps/inversion/constants.py index c959f6f9c..52fcfa530 100644 --- a/geoapps/inversion/constants.py +++ b/geoapps/inversion/constants.py @@ -15,6 +15,7 @@ import geoapps + default_ui_json = { "forward_only": False, "topography_object": { diff --git a/geoapps/inversion/electricals/application.py b/geoapps/inversion/electricals/application.py index 6ea64607f..e2556b7e0 100644 --- a/geoapps/inversion/electricals/application.py +++ b/geoapps/inversion/electricals/application.py @@ -45,6 +45,7 @@ from geoapps.utils import warn_module_not_found from geoapps.utils.list import find_value + with warn_module_not_found(): import ipywidgets as widgets from ipywidgets.widgets import ( @@ -729,9 +730,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) self.update_objects_list() # self.lines.workspace = workspace @@ -1200,7 +1201,7 @@ def file_browser_change(self, _): elif data["inversion_type"] == "induced polarization 3d": self._param_class = InducedPolarization3DParams - self.params = getattr(self, "_param_class")( + self.params = self._param_class( InputFile.read_ui_json(self.file_browser.selected) ) self.params.geoh5.open(mode="r") diff --git a/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py b/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py index 64b28e0fd..37dd903e2 100644 --- a/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py +++ b/geoapps/inversion/electricals/direct_current/pseudo_three_dimensions/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), diff --git a/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py b/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py index 20cf65e28..7fc13ba41 100644 --- a/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py +++ b/geoapps/inversion/electricals/direct_current/three_dimensions/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), diff --git a/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py b/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py index 43ccca395..5341dcd03 100644 --- a/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py +++ b/geoapps/inversion/electricals/direct_current/two_dimensions/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), diff --git a/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py b/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py index 13d8ce6fb..98bcee0d0 100644 --- a/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py +++ b/geoapps/inversion/electricals/induced_polarization/pseudo_three_dimensions/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), diff --git a/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py b/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py index e06c5d036..b4207d4f2 100644 --- a/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py +++ b/geoapps/inversion/electricals/induced_polarization/three_dimensions/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), diff --git a/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py b/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py index 6ba38f618..abf15e2fc 100644 --- a/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py +++ b/geoapps/inversion/electricals/induced_polarization/two_dimensions/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_dcip.geoh5"), "data_object": UUID("{6e14de2c-9c2f-4976-84c2-b330d869cb82}"), diff --git a/geoapps/inversion/electromagnetics/application.py b/geoapps/inversion/electromagnetics/application.py index 57c1b4f3f..29acba0f9 100644 --- a/geoapps/inversion/electromagnetics/application.py +++ b/geoapps/inversion/electromagnetics/application.py @@ -40,6 +40,7 @@ from geoapps.utils.list import find_value from geoapps.utils.string import string_2_list + with warn_module_not_found(): from matplotlib import pyplot as plt @@ -929,9 +930,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) # Refresh the list of objects diff --git a/geoapps/inversion/electromagnetics/driver.py b/geoapps/inversion/electromagnetics/driver.py index a6b3c2e42..d16cd81b4 100644 --- a/geoapps/inversion/electromagnetics/driver.py +++ b/geoapps/inversion/electromagnetics/driver.py @@ -221,7 +221,9 @@ def inversion(input_file): else: em_specs["tx_specs"]["type"] = "VMD" - for dat_uid, unc_uid in zip(data_group.properties, uncert_group.properties): + for dat_uid, unc_uid in zip( + data_group.properties, uncert_group.properties, strict=False + ): d_entity = workspace.get_entity(dat_uid)[0] u_entity = workspace.get_entity(unc_uid)[0] channels[d_entity.name] = True @@ -667,7 +669,7 @@ def offset_receivers_xy(locations, offsets): uncert = np.zeros(n_sounding * block) n_data = 0 - for ind, (d, u) in enumerate(zip(data, uncertainties)): + for ind, (d, u) in enumerate(zip(data, uncertainties, strict=False)): dobs[ind::block] = d[win_ind][stn_id] uncert[ind::block] = u[win_ind][stn_id] n_data += dobs[ind::block].shape[0] diff --git a/geoapps/inversion/electromagnetics/frequency_domain/constants.py b/geoapps/inversion/electromagnetics/frequency_domain/constants.py index afa52b809..4dc01c3ae 100644 --- a/geoapps/inversion/electromagnetics/frequency_domain/constants.py +++ b/geoapps/inversion/electromagnetics/frequency_domain/constants.py @@ -9,4 +9,5 @@ from __future__ import annotations + app_initializer = {} diff --git a/geoapps/inversion/electromagnetics/time_domain/constants.py b/geoapps/inversion/electromagnetics/time_domain/constants.py index afa52b809..4dc01c3ae 100644 --- a/geoapps/inversion/electromagnetics/time_domain/constants.py +++ b/geoapps/inversion/electromagnetics/time_domain/constants.py @@ -9,4 +9,5 @@ from __future__ import annotations + app_initializer = {} diff --git a/geoapps/inversion/joint/constants.py b/geoapps/inversion/joint/constants.py index afa52b809..4dc01c3ae 100644 --- a/geoapps/inversion/joint/constants.py +++ b/geoapps/inversion/joint/constants.py @@ -9,4 +9,5 @@ from __future__ import annotations + app_initializer = {} diff --git a/geoapps/inversion/joint/joint_cross_gradient/constants.py b/geoapps/inversion/joint/joint_cross_gradient/constants.py index afa52b809..4dc01c3ae 100644 --- a/geoapps/inversion/joint/joint_cross_gradient/constants.py +++ b/geoapps/inversion/joint/joint_cross_gradient/constants.py @@ -9,4 +9,5 @@ from __future__ import annotations + app_initializer = {} diff --git a/geoapps/inversion/joint/joint_surveys/constants.py b/geoapps/inversion/joint/joint_surveys/constants.py index afa52b809..4dc01c3ae 100644 --- a/geoapps/inversion/joint/joint_surveys/constants.py +++ b/geoapps/inversion/joint/joint_surveys/constants.py @@ -9,4 +9,5 @@ from __future__ import annotations + app_initializer = {} diff --git a/geoapps/inversion/natural_sources/magnetotellurics/constants.py b/geoapps/inversion/natural_sources/magnetotellurics/constants.py index c752b5742..1274d0d32 100644 --- a/geoapps/inversion/natural_sources/magnetotellurics/constants.py +++ b/geoapps/inversion/natural_sources/magnetotellurics/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_natural_sources.geoh5"), "topography_object": UUID("{cfabb8dd-d1ad-4c4e-a87c-7b3dd224c3f5}"), diff --git a/geoapps/inversion/natural_sources/tipper/constants.py b/geoapps/inversion/natural_sources/tipper/constants.py index afa52b809..4dc01c3ae 100644 --- a/geoapps/inversion/natural_sources/tipper/constants.py +++ b/geoapps/inversion/natural_sources/tipper/constants.py @@ -9,4 +9,5 @@ from __future__ import annotations + app_initializer = {} diff --git a/geoapps/inversion/potential_fields/application.py b/geoapps/inversion/potential_fields/application.py index c32312eb6..4c697b3fd 100644 --- a/geoapps/inversion/potential_fields/application.py +++ b/geoapps/inversion/potential_fields/application.py @@ -35,6 +35,7 @@ from ...base.application import BaseApplication + with warn_module_not_found(): import ipywidgets as widgets from ipywidgets.widgets import ( @@ -801,9 +802,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) self.update_objects_list() self.sensor.workspace = workspace @@ -1353,7 +1354,7 @@ def file_browser_change(self, _): elif data["inversion_type"] == "magnetic scalar": self._param_class = MagneticScalarParams - self.params = getattr(self, "_param_class")( + self.params = self._param_class( InputFile.read_ui_json(self.file_browser.selected) ) params = self.params.to_dict() diff --git a/geoapps/inversion/potential_fields/gravity/constants.py b/geoapps/inversion/potential_fields/gravity/constants.py index 495dc2251..3470690c6 100644 --- a/geoapps/inversion/potential_fields/gravity/constants.py +++ b/geoapps/inversion/potential_fields/gravity/constants.py @@ -14,6 +14,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon.geoh5"), "monitoring_directory": str((assets_path() / "Temp").resolve()), diff --git a/geoapps/inversion/potential_fields/gravity/layout.py b/geoapps/inversion/potential_fields/gravity/layout.py index 65473d27e..397b5f3f3 100644 --- a/geoapps/inversion/potential_fields/gravity/layout.py +++ b/geoapps/inversion/potential_fields/gravity/layout.py @@ -11,6 +11,7 @@ import geoapps.inversion.base_inversion_layout as base_layout + component_list = [ "gx", "gy", diff --git a/geoapps/inversion/potential_fields/magnetic_scalar/constants.py b/geoapps/inversion/potential_fields/magnetic_scalar/constants.py index f11f72cc6..72717b3d4 100644 --- a/geoapps/inversion/potential_fields/magnetic_scalar/constants.py +++ b/geoapps/inversion/potential_fields/magnetic_scalar/constants.py @@ -14,6 +14,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon.geoh5"), "monitoring_directory": str((assets_path() / "Temp").resolve()), diff --git a/geoapps/inversion/potential_fields/magnetic_scalar/layout.py b/geoapps/inversion/potential_fields/magnetic_scalar/layout.py index 87d28dd2a..1369982a7 100644 --- a/geoapps/inversion/potential_fields/magnetic_scalar/layout.py +++ b/geoapps/inversion/potential_fields/magnetic_scalar/layout.py @@ -11,6 +11,7 @@ import geoapps.inversion.base_inversion_layout as base_layout + component_list = [ "tmi", "bx", diff --git a/geoapps/inversion/potential_fields/magnetic_vector/constants.py b/geoapps/inversion/potential_fields/magnetic_vector/constants.py index 70831361a..809188ea3 100644 --- a/geoapps/inversion/potential_fields/magnetic_vector/constants.py +++ b/geoapps/inversion/potential_fields/magnetic_vector/constants.py @@ -14,6 +14,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon.geoh5"), "monitoring_directory": str((assets_path() / "Temp").resolve()), diff --git a/geoapps/inversion/potential_fields/magnetic_vector/layout.py b/geoapps/inversion/potential_fields/magnetic_vector/layout.py index b76cab0cf..1b04e5573 100644 --- a/geoapps/inversion/potential_fields/magnetic_vector/layout.py +++ b/geoapps/inversion/potential_fields/magnetic_vector/layout.py @@ -11,6 +11,7 @@ import geoapps.inversion.base_inversion_layout as base_layout + component_list = [ "tmi", "bx", diff --git a/geoapps/inversion/utils.py b/geoapps/inversion/utils.py index 88d29f38b..c0d25c0bd 100644 --- a/geoapps/inversion/utils.py +++ b/geoapps/inversion/utils.py @@ -62,8 +62,7 @@ def calculate_2D_trend( """ if not isinstance(order, int) or order < 0: raise ValueError( - "Polynomial 'order' should be an integer > 0. " - f"Value of {order} provided." + f"Polynomial 'order' should be an integer > 0. Value of {order} provided." ) ind_nan = ~np.isnan(values) @@ -77,7 +76,7 @@ def calculate_2D_trend( values = values[hull.vertices] elif not method == "all": raise ValueError( - "'method' must be either 'all', or 'perimeter'. " f"Value {method} provided" + f"'method' must be either 'all', or 'perimeter'. Value {method} provided" ) # Compute center of mass @@ -86,7 +85,7 @@ def calculate_2D_trend( polynomial = [] xx, yy = np.triu_indices(order + 1) - for x, y in zip(xx, yy): + for x, y in zip(xx, yy, strict=False): polynomial.append( (loc_xy[:, 0] - center_x) ** float(x) * (loc_xy[:, 1] - center_y) ** float(y - x) @@ -101,7 +100,7 @@ def calculate_2D_trend( params, _, _, _ = np.linalg.lstsq(polynomial, values, rcond=None) data_trend = np.zeros(points.shape[0]) - for count, (x, y) in enumerate(zip(xx, yy)): + for count, (x, y) in enumerate(zip(xx, yy, strict=False)): data_trend += ( params[count] * (points[:, 0] - center_x) ** float(x) diff --git a/geoapps/iso_surfaces/application.py b/geoapps/iso_surfaces/application.py index d3978eb99..07267ed09 100644 --- a/geoapps/iso_surfaces/application.py +++ b/geoapps/iso_surfaces/application.py @@ -25,6 +25,7 @@ from geoapps.iso_surfaces.params import IsoSurfacesParams from geoapps.utils.importing import warn_module_not_found + with warn_module_not_found(): from ipywidgets import FloatText, HBox, Label, Text, VBox, Widget diff --git a/geoapps/iso_surfaces/constants.py b/geoapps/iso_surfaces/constants.py index ecf2340cd..daec18aa7 100644 --- a/geoapps/iso_surfaces/constants.py +++ b/geoapps/iso_surfaces/constants.py @@ -17,6 +17,7 @@ import geoapps from geoapps import assets_path + defaults = { "version": geoapps.__version__, "title": "Create Iso Surfaces", diff --git a/geoapps/iso_surfaces/driver.py b/geoapps/iso_surfaces/driver.py index a6ae91c9c..bd82c4b23 100644 --- a/geoapps/iso_surfaces/driver.py +++ b/geoapps/iso_surfaces/driver.py @@ -61,7 +61,7 @@ def run(self): container = ContainerGroup.create(self.params.geoh5, name="Isosurface") result = [] - for surface, level in zip(surfaces, levels): + for surface, level in zip(surfaces, levels, strict=False): if len(surface[0]) > 0 and len(surface[1]) > 0: result += [ Surface.create( @@ -74,7 +74,7 @@ def run(self): ] self.update_monitoring_directory(container) - print("Isosurface completed. " f"-> {len(surfaces)} surface(s) created.") + print(f"Isosurface completed. -> {len(surfaces)} surface(s) created.") return result diff --git a/geoapps/octree_creation/application.py b/geoapps/octree_creation/application.py index 95384496e..bf65ed108 100644 --- a/geoapps/octree_creation/application.py +++ b/geoapps/octree_creation/application.py @@ -31,6 +31,7 @@ from geoapps.octree_creation.constants import app_initializer from geoapps.utils import warn_module_not_found + with warn_module_not_found(): from ipywidgets import ( Checkbox, @@ -242,9 +243,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) self.update_objects_choices() diff --git a/geoapps/octree_creation/constants.py b/geoapps/octree_creation/constants.py index 03da8f8ef..3988d4418 100644 --- a/geoapps/octree_creation/constants.py +++ b/geoapps/octree_creation/constants.py @@ -13,6 +13,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon.geoh5"), "objects": UUID("{656acd40-25de-4865-814c-cb700f6ee51a}"), diff --git a/geoapps/peak_finder/application.py b/geoapps/peak_finder/application.py index 2f3004d7d..4cbcb1ec8 100644 --- a/geoapps/peak_finder/application.py +++ b/geoapps/peak_finder/application.py @@ -35,7 +35,6 @@ class PeakFinder(ObjectDataSelection): _add_groups = "only" def __init__(self, ui_json=None, **kwargs): - app_initializer.update(kwargs) if ui_json is not None and Path(ui_json).is_file(): self.params = self._param_class(input_file=InputFile(ui_json=ui_json)) diff --git a/geoapps/peak_finder/constants.py b/geoapps/peak_finder/constants.py index c90f6932f..0bfe7c1b7 100644 --- a/geoapps/peak_finder/constants.py +++ b/geoapps/peak_finder/constants.py @@ -11,6 +11,7 @@ from geoapps import assets_path + app_initializer = { "geoh5": str(assets_path() / "FlinFlon_airborne_tem.geoh5"), "objects": UUID("{34698019-cde6-4b43-8d53-a040b25c989a}"), diff --git a/geoapps/scatter_plot/application.py b/geoapps/scatter_plot/application.py index 73380cc2a..83dcb5561 100644 --- a/geoapps/scatter_plot/application.py +++ b/geoapps/scatter_plot/application.py @@ -360,20 +360,25 @@ def update_channel_bounds( trigger = callback_context.triggered[0]["prop_id"].split(".")[0] if trigger == "ui_json_data" or trigger == "": - x_min, x_max = ui_json_data.get("x_min", None), ui_json_data.get( - "x_max", None + x_min, x_max = ( + ui_json_data.get("x_min", None), + ui_json_data.get("x_max", None), ) - y_min, y_max = ui_json_data.get("y_min", None), ui_json_data.get( - "y_max", None + y_min, y_max = ( + ui_json_data.get("y_min", None), + ui_json_data.get("y_max", None), ) - z_min, z_max = ui_json_data.get("z_min", None), ui_json_data.get( - "z_max", None + z_min, z_max = ( + ui_json_data.get("z_min", None), + ui_json_data.get("z_max", None), ) - color_min, color_max = ui_json_data.get( - "color_min", None - ), ui_json_data.get("color_max", None) - size_min, size_max = ui_json_data.get("size_min", None), ui_json_data.get( - "size_max", None + color_min, color_max = ( + ui_json_data.get("color_min", None), + ui_json_data.get("color_max", None), + ) + size_min, size_max = ( + ui_json_data.get("size_min", None), + ui_json_data.get("size_max", None), ) elif trigger == "x": diff --git a/geoapps/scatter_plot/constants.py b/geoapps/scatter_plot/constants.py index 924b1c997..7ef2ced2d 100644 --- a/geoapps/scatter_plot/constants.py +++ b/geoapps/scatter_plot/constants.py @@ -18,6 +18,7 @@ import geoapps from geoapps import assets_path + defaults = { "version": geoapps.__version__, "title": "Scatter Plot", diff --git a/geoapps/scatter_plot/layout.py b/geoapps/scatter_plot/layout.py index b1374ae10..1ac093e76 100644 --- a/geoapps/scatter_plot/layout.py +++ b/geoapps/scatter_plot/layout.py @@ -12,6 +12,7 @@ import plotly.express as px from dash import dcc, html + downsampling_layout = html.Div( [ html.Div( diff --git a/geoapps/shared_utils/colors.py b/geoapps/shared_utils/colors.py index fa0c4bc3b..8ca5a3a96 100644 --- a/geoapps/shared_utils/colors.py +++ b/geoapps/shared_utils/colors.py @@ -9,6 +9,7 @@ from __future__ import annotations + UNIQUE_COLORS = [ "#000000", "#FFFF00", diff --git a/geoapps/shared_utils/utils.py b/geoapps/shared_utils/utils.py index 93b650b5e..4b34671f1 100644 --- a/geoapps/shared_utils/utils.py +++ b/geoapps/shared_utils/utils.py @@ -131,9 +131,9 @@ def weighted_average( n = np.min([xyz_in.shape[0], n]) assert isinstance(values, list), "Input 'values' must be a list of numpy.ndarrays" - assert all( - [vals.shape[0] == xyz_in.shape[0] for vals in values] - ), "Input 'values' must have the same shape as input 'locations'" + assert all([vals.shape[0] == xyz_in.shape[0] for vals in values]), ( + "Input 'values' must have the same shape as input 'locations'" + ) avg_values = [] for value in values: @@ -462,7 +462,9 @@ def octree_2_treemesh(mesh): tsw_corner = np.asarray(mesh.origin.tolist()) small_cell = [mesh.u_cell_size, mesh.v_cell_size, mesh.w_cell_size] n_cell_dim = [mesh.u_count, mesh.v_count, mesh.w_count] - cell_sizes = [np.ones(nr) * sz for nr, sz in zip(n_cell_dim, small_cell)] + cell_sizes = [ + np.ones(nr) * sz for nr, sz in zip(n_cell_dim, small_cell, strict=False) + ] u_shift, v_shift, w_shift = (np.sum(h[h < 0]) for h in cell_sizes) h1, h2, h3 = (np.abs(h) for h in cell_sizes) x0 = tsw_corner + np.array([u_shift, v_shift, w_shift]) @@ -550,7 +552,7 @@ def get_inversion_output(h5file: str | Workspace, inversion_group: str | UUID): ][:-1] cols = out.pop(0).split(" ") out = [[string_to_numeric(k) for k in line.split(" ")] for line in out] - out = dict(zip(cols, list(map(list, zip(*out))))) + out = dict(zip(cols, list(map(list, zip(*out, strict=False))), strict=False)) return out diff --git a/geoapps/triangulated_surfaces/application.py b/geoapps/triangulated_surfaces/application.py index 6fe0dfdea..9cde5e965 100644 --- a/geoapps/triangulated_surfaces/application.py +++ b/geoapps/triangulated_surfaces/application.py @@ -27,6 +27,7 @@ from geoapps.utils import warn_module_not_found from geoapps.utils.formatters import string_name + with warn_module_not_found(): from ipywidgets import ( FloatText, @@ -345,14 +346,14 @@ def trigger_click(self, _): ) if len(self.models) > 0: - for uid, model in zip(self.data.value, self.models): + for uid, model in zip(self.data.value, self.models, strict=False): surface.add_data( { self.data.uid_name_map[uid]: {"values": model}, } ) else: - for data_obj, model in zip(data_list, self.models): + for data_obj, model in zip(data_list, self.models, strict=False): surface.add_data( { data_obj.name: {"values": model}, @@ -414,9 +415,9 @@ def elevations(self): @elevations.setter def elevations(self, value): - assert isinstance( - value, ObjectDataSelection - ), f"elevations must be an object of type {ObjectDataSelection}" + assert isinstance(value, ObjectDataSelection), ( + f"elevations must be an object of type {ObjectDataSelection}" + ) self._elevations = value @property @@ -497,9 +498,9 @@ def workspace(self): @workspace.setter def workspace(self, workspace): - assert isinstance( - workspace, Workspace - ), f"Workspace must be of class {Workspace}" + assert isinstance(workspace, Workspace), ( + f"Workspace must be of class {Workspace}" + ) self.base_workspace_changes(workspace) # Refresh the list of objects diff --git a/geoapps/utils/models.py b/geoapps/utils/models.py index 9b2e4cc69..f7269a6f8 100644 --- a/geoapps/utils/models.py +++ b/geoapps/utils/models.py @@ -85,10 +85,8 @@ def drape_to_octree( if method == "nearest": octree_model.append(datum[0].values) else: - lookup_inds = ( - mesh._get_containing_cell_indexes( # pylint: disable=W0212 - model.centroids - ) + lookup_inds = mesh._get_containing_cell_indexes( # pylint: disable=W0212 + model.centroids ) octree_model[lookup_inds] = datum[0].values diff --git a/geoapps/utils/plotting.py b/geoapps/utils/plotting.py index 15fa03231..c0fb5a6ef 100644 --- a/geoapps/utils/plotting.py +++ b/geoapps/utils/plotting.py @@ -20,6 +20,7 @@ from geoapps.shared_utils.utils import filter_xy from geoapps.utils import warn_module_not_found + with warn_module_not_found(): from matplotlib import colors from matplotlib import pyplot as plt @@ -267,7 +268,7 @@ def plot_plan_data_selection(entity, data, **kwargs): axis.set_xlim([x.min() - width * 0.1, x.max() + width * 0.1]) axis.set_ylim([y.min() - height * 0.1, y.max() + height * 0.1]) - if "colorbar" in kwargs and kwargs["colorbar"]: + if kwargs.get("colorbar"): plt.colorbar(out, ax=axis) line_selection = np.zeros_like(indices, dtype=bool) @@ -363,13 +364,19 @@ def plot_profile_data_selection( yy[-1], yerr=uncertainties[i][0] * np.abs(yy[-1]) + uncertainties[i][1], - color=[c + i * i for c, i in zip(color, c_increment)], + color=[ + c + i * i + for c, i in zip(color, c_increment, strict=False) + ], ) else: ax.plot( xx[-1], yy[-1], - color=[c + i * i for c, i in zip(color, c_increment)], + color=[ + c + i * i + for c, i in zip(color, c_increment, strict=False) + ], ) legend.append(field) @@ -402,9 +409,9 @@ def plotly_scatter( """ Create a plotly.graph_objects.Mesh3D figure. """ - assert ( - getattr(points, "vertices", None) is not None - ), "Input object must have vertices" + assert getattr(points, "vertices", None) is not None, ( + "Input object must have vertices" + ) if figure is None: figure = go.FigureWidget() @@ -483,9 +490,9 @@ def plotly_block_model( """ Create a plotly.graph_objects.Mesh3D figure. """ - assert isinstance( - block_model, BlockModel - ), f"Input block_model must be of type {Surface}" + assert isinstance(block_model, BlockModel), ( + f"Input block_model must be of type {Surface}" + ) if figure is None: figure = go.FigureWidget() diff --git a/geoapps/utils/surveys.py b/geoapps/utils/surveys.py index e0f1645f8..7333bad90 100644 --- a/geoapps/utils/surveys.py +++ b/geoapps/utils/surveys.py @@ -13,6 +13,7 @@ from SimPEG.survey import BaseSurvey + if TYPE_CHECKING: from simpeg_drivers.components import InversionData @@ -177,15 +178,15 @@ def slice_and_map(obj: np.ndarray, slicer: np.ndarray | Callable): if isinstance(slicer, np.ndarray): if slicer.dtype == bool: sliced_object = obj[slicer] - g2l = dict(zip(np.where(slicer)[0], np.arange(len(obj)))) + g2l = dict(zip(np.where(slicer)[0], np.arange(len(obj)), strict=False)) else: sliced_object = obj[slicer] - g2l = dict(zip(slicer, np.arange(len(slicer)))) + g2l = dict(zip(slicer, np.arange(len(slicer)), strict=False)) elif callable(slicer): slicer = np.array([slicer(k) for k in obj]) sliced_object = obj[slicer] - g2l = dict(zip(np.where(slicer)[0], np.arange(len(obj)))) + g2l = dict(zip(np.where(slicer)[0], np.arange(len(obj)), strict=False)) return sliced_object, g2l diff --git a/geoapps/utils/write_default_uijson.py b/geoapps/utils/write_default_uijson.py index d2cd463f0..e56d07c9e 100644 --- a/geoapps/utils/write_default_uijson.py +++ b/geoapps/utils/write_default_uijson.py @@ -53,6 +53,7 @@ from geoapps.iso_surfaces.params import IsoSurfacesParams from geoapps.scatter_plot.params import ScatterPlotParams + active_data_channels = [ "z_real_channel", "z_imag_channel", diff --git a/tests/__init__.py b/tests/__init__.py index 8975e83b0..8b44dfa97 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -9,6 +9,7 @@ from geoapps import assets_path + PROJECT = assets_path() / "FlinFlon.geoh5" PROJECT_DCIP = assets_path() / "FlinFlon_dcip.geoh5" PROJECT_TEM = assets_path() / "FlinFlon_airborne_tem.geoh5" diff --git a/tests/formatters_test.py b/tests/formatters_test.py index 965a87a65..82d64d758 100644 --- a/tests/formatters_test.py +++ b/tests/formatters_test.py @@ -13,6 +13,6 @@ def test_string_name(): chars = "!@#$%^&*().," value = "H!e(l@l#o.W$o%r^l&d*" - assert ( - string_name(value, characters=chars) == "H_e_l_l_o_W_o_r_l_d_" - ), "string_name validator failed" + assert string_name(value, characters=chars) == "H_e_l_l_o_W_o_r_l_d_", ( + "string_name validator failed" + ) diff --git a/tests/run_tests/apps_inversion_test.py b/tests/run_tests/apps_inversion_test.py index c4e48209f..7871f1fc0 100644 --- a/tests/run_tests/apps_inversion_test.py +++ b/tests/run_tests/apps_inversion_test.py @@ -42,6 +42,7 @@ PROJECT_TEM, ) + # import pytest # pytest.skip("eliminating conflicting test.", allow_module_level=True) @@ -208,7 +209,7 @@ def test_dc_inversion(tmp_path: Path): app.write_trigger(None) app.write_trigger(None) # Check that this can run more than once - ifile = InputFile.read_ui_json(getattr(app, "_run_params").input_file.path_name) + ifile = InputFile.read_ui_json(app._run_params.input_file.path_name) params_reload = DirectCurrent3DParams(ifile) @@ -223,9 +224,9 @@ def test_dc_inversion(tmp_path: Path): for param, value in side_effects.items(): p_value = getattr(params_reload, param) p_value = p_value.uid if isinstance(p_value, Entity) else p_value - assert ( - p_value == value - ), f"Side effect parameter {param} not saved and loaded correctly." + assert p_value == value, ( + f"Side effect parameter {param} not saved and loaded correctly." + ) # Test the groups groups = [ @@ -239,15 +240,15 @@ def test_dc_inversion(tmp_path: Path): for group in groups: if "Constant" in getattr(app, "_" + group + "_group").options.options: setattr(app, group, 1.0) - assert ( - getattr(app, "_" + group + "_group").options.value == "Constant" - ), f"Property group {group} did not reset to 'Constant'" + assert getattr(app, "_" + group + "_group").options.value == "Constant", ( + f"Property group {group} did not reset to 'Constant'" + ) if "None" in getattr(app, "_" + group + "_group").options.options: setattr(app, group, None) - assert ( - getattr(app, "_" + group + "_group").options.value == "None" - ), f"Property group {group} did not reset to 'None'" + assert getattr(app, "_" + group + "_group").options.value == "None", ( + f"Property group {group} did not reset to 'None'" + ) def test_ip_inversion(tmp_path: Path): @@ -288,7 +289,7 @@ def test_ip_inversion(tmp_path: Path): setattr(app, param, value) app.write_trigger(None) - ifile = InputFile.read_ui_json(getattr(app, "_run_params").input_file.path_name) + ifile = InputFile.read_ui_json(app._run_params.input_file.path_name) params_reload = InducedPolarization3DParams(ifile) for param, value in changes.items(): @@ -297,16 +298,16 @@ def test_ip_inversion(tmp_path: Path): if param == "chargeability_channel": assert p_value != value and is_uuid(p_value) else: - assert ( - p_value == value - ), f"Parameter {param} not saved and loaded correctly." + assert p_value == value, ( + f"Parameter {param} not saved and loaded correctly." + ) for param, value in side_effects.items(): p_value = getattr(params_reload, param) p_value = p_value.uid if isinstance(p_value, Entity) else p_value - assert ( - p_value == value - ), f"Side effect parameter {param} not saved and loaded correctly." + assert p_value == value, ( + f"Side effect parameter {param} not saved and loaded correctly." + ) groups = [ "topography", @@ -320,15 +321,15 @@ def test_ip_inversion(tmp_path: Path): for group in groups: if "Constant" in getattr(app, "_" + group + "_group").options.options: setattr(app, group, 1.0) - assert ( - getattr(app, "_" + group + "_group").options.value == "Constant" - ), f"Property group {group} did not reset to 'Constant'" + assert getattr(app, "_" + group + "_group").options.value == "Constant", ( + f"Property group {group} did not reset to 'Constant'" + ) if "None" in getattr(app, "_" + group + "_group").options.options: setattr(app, group, None) - assert ( - getattr(app, "_" + group + "_group").options.value == "None" - ), f"Property group {group} did not reset to 'None'" + assert getattr(app, "_" + group + "_group").options.value == "None", ( + f"Property group {group} did not reset to 'None'" + ) def test_em1d_inversion(tmp_path: Path): diff --git a/tests/run_tests/apps_run_test.py b/tests/run_tests/apps_run_test.py index 95240cdc7..31c188b47 100644 --- a/tests/run_tests/apps_run_test.py +++ b/tests/run_tests/apps_run_test.py @@ -39,6 +39,7 @@ from geoapps.utils.testing import get_output_workspace from tests import PROJECT, PROJECT_TEM + # import pytest # pytest.skip("eliminating conflicting test.", allow_module_level=True) diff --git a/tests/utils_test.py b/tests/utils_test.py index 8d78f5cb0..f1ceaeef2 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -60,6 +60,7 @@ from . import PROJECT + geoh5 = Workspace(PROJECT) @@ -355,7 +356,7 @@ def test_rectangular_block(): assert [0.0, pos, 5.0] in vertices with pytest.raises(ValueError) as error: - setattr(block, "center", -180.0) + block.center = -180.0 assert "Input value for 'center' must be a list of floats len(3)." in str(error) @@ -366,7 +367,7 @@ def test_rectangular_block(): assert f"Input value for '{attr}' must be a float >0." in str(error) with pytest.raises(ValueError) as error: - setattr(block, "dip", -180.0) + block.dip = -180.0 assert ( "Input value for 'dip' must be a float on the interval [-90, 90] degrees." @@ -374,7 +375,7 @@ def test_rectangular_block(): ) with pytest.raises(ValueError) as error: - setattr(block, "azimuth", -450.0) + block.azimuth = -450.0 assert ( "Input value for 'azimuth' must be a float on the interval [-360, 360] degrees." @@ -382,7 +383,7 @@ def test_rectangular_block(): ) with pytest.raises(ValueError) as error: - setattr(block, "reference", "abc") + block.reference = "abc" assert ( "Input value for 'reference' point should be a str from ['center', 'top']." @@ -436,7 +437,7 @@ def test_sorted_alphanumeric_list(): ] sorted_list = sorted_alphanumeric_list(random.sample(test, len(test))) - assert all(elem == tester for elem, tester in zip(sorted_list, test)) + assert all(elem == tester for elem, tester in zip(sorted_list, test, strict=False)) def test_no_warn_module_not_found(recwarn): @@ -553,15 +554,15 @@ def test_rotation_xyz(): vec = np.c_[1, 0, 0] rot_vec = rotate_xyz(vec, [0, 0], 45) - assert ( - np.linalg.norm(np.cross(rot_vec, [0.7071, 0.7071, 0])) < 1e-8 - ), "Error on positive rotation about origin." + assert np.linalg.norm(np.cross(rot_vec, [0.7071, 0.7071, 0])) < 1e-8, ( + "Error on positive rotation about origin." + ) rot_vec = rotate_xyz(vec, [1, 1], -90) - assert ( - np.linalg.norm(np.cross(rot_vec, [0, 1, 0])) < 1e-8 - ), "Error on negative rotation about point." + assert np.linalg.norm(np.cross(rot_vec, [0, 1, 0])) < 1e-8, ( + "Error on negative rotation about point." + ) def test_running_mean(): @@ -572,12 +573,12 @@ def test_running_mean(): mean_test = (vec[1:] + vec[:-1]) / 2 - assert ( - np.linalg.norm(mean_back[:-1] - mean_test) < 1e-12 - ), "Backward averaging does not match expected values." - assert ( - np.linalg.norm(mean_forw[1:] - mean_test) < 1e-12 - ), "Forward averaging does not match expected values." + assert np.linalg.norm(mean_back[:-1] - mean_test) < 1e-12, ( + "Backward averaging does not match expected values." + ) + assert np.linalg.norm(mean_forw[1:] - mean_test) < 1e-12, ( + "Forward averaging does not match expected values." + ) assert ( np.linalg.norm((mean_test[1:] + mean_test[:-1]) / 2 - mean_cent[1:-1]) < 1e-12 ), "Centered averaging does not match expected values." @@ -664,9 +665,7 @@ def test_treemesh_2_octree(tmp_path: Path): mesh.insert_cells([10, 10, 10], mesh.max_level, finalize=True) omesh = treemesh_2_octree(workspace, mesh, name="test_mesh") assert omesh.n_cells == mesh.n_cells - assert np.all( - (omesh.centroids - mesh.cell_centers[getattr(mesh, "_ubc_order")]) < 1e-14 - ) + assert np.all((omesh.centroids - mesh.cell_centers[mesh._ubc_order]) < 1e-14) expected_refined_cells = [ (0, 0, 6), (0, 0, 7), @@ -805,8 +804,9 @@ def test_filter_xy(): } # Test the windowing functionality w_mask = filter_xy(x_grid, y_grid, window=window) - x_grid_test, y_grid_test = x_grid[w_mask].reshape(5, 9), y_grid[w_mask].reshape( - 5, 9 + x_grid_test, y_grid_test = ( + x_grid[w_mask].reshape(5, 9), + y_grid[w_mask].reshape(5, 9), ) np.testing.assert_allclose( x_grid_test, np.meshgrid(np.arange(1, 10), np.arange(3, 8))[0] @@ -817,8 +817,9 @@ def test_filter_xy(): # Test the downsampling functionality ds_mask = filter_xy(x_grid, y_grid, distance=2) - x_grid_test, y_grid_test = x_grid[ds_mask].reshape(6, 6), y_grid[ds_mask].reshape( - 6, 6 + x_grid_test, y_grid_test = ( + x_grid[ds_mask].reshape(6, 6), + y_grid[ds_mask].reshape(6, 6), ) np.testing.assert_allclose(np.diff(x_grid_test, axis=1), np.full((6, 5), 2)) np.testing.assert_allclose(np.diff(y_grid_test, axis=0), np.full((5, 6), 2)) @@ -826,9 +827,10 @@ def test_filter_xy(): # Test the combo functionality comb_mask = filter_xy(x_grid, y_grid, distance=2, window=window) assert np.all(comb_mask == (w_mask & ds_mask)) - x_grid_test, y_grid_test = x_grid[comb_mask].reshape(2, 4), y_grid[ - comb_mask - ].reshape(2, 4) + x_grid_test, y_grid_test = ( + x_grid[comb_mask].reshape(2, 4), + y_grid[comb_mask].reshape(2, 4), + ) assert np.all((x_grid_test >= 1) & (x_grid_test <= 9)) assert np.all((y_grid_test >= 3) & (y_grid_test <= 7)) np.testing.assert_allclose(np.diff(x_grid_test, axis=1), np.full((2, 3), 2)) @@ -838,8 +840,9 @@ def test_filter_xy(): combo_mask = filter_xy(x_grid_rot, y_grid_rot, distance=2, window=window, angle=-30) xg_test, yg_test = x_grid_rot[comb_mask], y_grid_rot[comb_mask] xy_rot = rotate_xyz(np.c_[xg_test, yg_test], [5, 5], -30) - x_grid_rot_test, y_grid_rot_test = xy_rot[:, 0].reshape(2, 4), xy_rot[:, 1].reshape( - 2, 4 + x_grid_rot_test, y_grid_rot_test = ( + xy_rot[:, 0].reshape(2, 4), + xy_rot[:, 1].reshape(2, 4), ) assert np.all((x_grid_rot_test >= 1) & (x_grid_rot_test <= 9)) assert np.all((y_grid_rot_test >= 3) & (y_grid_rot_test <= 7)) @@ -936,7 +939,7 @@ def test_get_neighbouring_cells(): neighbours = get_neighbouring_cells(mesh, [ind]) assert len(neighbours) == 3, "Incorrect number of neighbours axes returned." - assert all( - len(axis) == 2 for axis in neighbours - ), "Incorrect number of neighbours returned." + assert all(len(axis) == 2 for axis in neighbours), ( + "Incorrect number of neighbours returned." + ) assert np.allclose(np.r_[neighbours].flatten(), np.r_[76, 78, 75, 79, 73, 81]) From 177bba4cf27eed5bd629a3e607849e5efbdaa80b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 23:38:49 -0500 Subject: [PATCH 09/22] disable check stdlib-module-shadowing for now --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index e268ff841..17548e02e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -167,6 +167,7 @@ ignore = [ "B028", # no-explicit-stacklevel for warnings.warn() "E501", # line-too-long - code is reformatted (do not care about comments and docstring) "F401", # unsused-import - covered by pycln + "A005", # TO DO (stdlib-module-shadowing: Module shadows a Python standard-library module) "RUF005", # TO DO "B007", # TO DO "B011", # TO DO From e822cd4029f6d1d165c0445ed70858b37696e1b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 22:45:15 -0500 Subject: [PATCH 10/22] update remaining copyright dates --- LICENSE | 11 +---------- README-dev.rst | 16 +--------------- README.rst | 11 +---------- 3 files changed, 3 insertions(+), 35 deletions(-) diff --git a/LICENSE b/LICENSE index 71726de7c..186344f22 100644 --- a/LICENSE +++ b/LICENSE @@ -1,15 +1,6 @@ -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' -# ' -# This file is part of geoapps. ' -# ' -# geoapps is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - MIT License -Copyright (c) 2024 Mira Geoscience +Copyright (c) 2020-2025 Mira Geoscience Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README-dev.rst b/README-dev.rst index 22bf20092..6c5ef3e8b 100644 --- a/README-dev.rst +++ b/README-dev.rst @@ -1,12 +1,3 @@ -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' -# ' -# This file is part of geoapps. ' -# ' -# geoapps is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - Setup for development ===================== @@ -369,11 +360,6 @@ Here is a suggestion for some plugins you can install in PyCharm. .. _.pre-commit-config.yaml: .pre-commit-config.yaml -License -^^^^^^^ -# TODO: ADD LICENSE TERMS - - Copyright ^^^^^^^^^ -Copyright (c) 2024 Mira Geoscience Ltd. +Copyright (c) 2020-2025 Mira Geoscience Ltd. diff --git a/README.rst b/README.rst index 8606c6ae4..c52955ed6 100644 --- a/README.rst +++ b/README.rst @@ -1,12 +1,3 @@ -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' -# ' -# This file is part of geoapps. ' -# ' -# geoapps is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - |coverage| |precommit_ci| |docs| |style| |version| |pyversions| @@ -176,7 +167,7 @@ License ^^^^^^^ MIT License -Copyright (c) 2024 Mira Geoscience +Copyright (c) 2020-2025 Mira Geoscience Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 17fe040f6a61e7bda18c2d067b591a24b3dcd909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 22:46:04 -0500 Subject: [PATCH 11/22] fix partial or obsolete package information --- pyproject.toml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 17548e02e..e476b38ec 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,16 @@ [tool.poetry] name = "geoapps" version = "0.12.0-beta.2" - +license = "MIT" description = "Open-sourced Applications in Geoscience" -authors = ["Mira Geoscience "] +authors = ["Mira Geoscience "] +maintainers = [ + "Benjamin Kary ", + "Dominique Fournier ", +] repository = "https://github.com/MiraGeoscience/geoapps" -documentation = "https://geoapps.readthedocs.io/en/latest/" -homepage = "https://mirageoscience.com" +documentation = "https://mirageoscience-geoapps.readthedocs-hosted.com/" +homepage = "https://www.mirageoscience.com/mining-industry-software/python-integration/" readme = "README.rst" packages = [ From 7199b5390613f542a3a228c12391f122a1a35d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 22:47:37 -0500 Subject: [PATCH 12/22] add license and copyright notice in the doc --- .rstcheck.cfg | 1 + docs/conf.py | 12 ++++++++++++ docs/index.rst | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) diff --git a/.rstcheck.cfg b/.rstcheck.cfg index 026a67468..d4d00107a 100644 --- a/.rstcheck.cfg +++ b/.rstcheck.cfg @@ -1,3 +1,4 @@ [rstcheck] ignore_directives=automodule,jupyter-execute,nbgallery report_level=WARNING +ignore_substitutions = copyright_notice diff --git a/docs/conf.py b/docs/conf.py index d9c775c7b..291492d73 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -16,6 +16,7 @@ import sys import shutil import plotly.io as pio +from datetime import datetime pio.renderers.default = "sphinx_gallery" @@ -94,6 +95,8 @@ # General information about the project. project = "geoapps v0.12.0-beta.2" +project_copyright = "%Y, Mira Geoscience Ltd" +author = "Mira Geoscience Ltd." # The short X.Y version. version = "0.12.0" @@ -394,3 +397,12 @@ # TODO: build the source # sphinx-apidoc --templatedir templates/ -o content/api/ ../mirageoscience-apps + + +def get_copyright_notice(): + return f"Copyright {datetime.now().strftime(project_copyright)}" + + +rst_epilog = f""" +.. |copyright_notice| replace:: {get_copyright_notice()}. +""" diff --git a/docs/index.rst b/docs/index.rst index 9cc9394af..b15ced2bf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -30,3 +30,37 @@ Contents: content/howto.rst content/release_notes.rst content/feedback.rst + + +License +^^^^^^^ +MIT License + +Copyright (c) 2020-2025 Mira Geoscience + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +Curve-apps is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + + +Copyright +^^^^^^^^^ +|copyright_notice| From c0988f7b7ec6f33203099a13dad88ada467beefb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 22:48:11 -0500 Subject: [PATCH 13/22] expose version under package title in the doc --- docs/conf.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 291492d73..2bb627287 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,6 +17,7 @@ import shutil import plotly.io as pio from datetime import datetime +from packaging.version import Version pio.renderers.default = "sphinx_gallery" @@ -93,16 +94,15 @@ master_doc = "index" # General information about the project. -project = "geoapps v0.12.0-beta.2" +project = "geoapps" project_copyright = "%Y, Mira Geoscience Ltd" author = "Mira Geoscience Ltd." -# The short X.Y version. -version = "0.12.0" # The full version, including alpha/beta/rc tags. release = "0.12.0-beta.2" - +# The shorter X.Y.Z version. +version = Version(release).base_version # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -176,6 +176,10 @@ # 'display_github': 'True', # } +html_theme_options = { + "description": f"version {release}", +} + # html_logo = 'images/mirageoscience-apps.png' check_meta = False From 3c05487dce4e5985063b525f48253288a8f3d18d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Sun, 12 Jan 2025 23:41:57 -0500 Subject: [PATCH 14/22] more file types for LFS --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitattributes b/.gitattributes index 905c30aa5..42f9d0d40 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,5 @@ +*.pt filter=lfs diff=lfs merge=lfs -text *.geoh5 filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.min.js filter=lfs diff=lfs merge=lfs -text *.ipynb filter=lfs diff=lfs merge=lfs -text From c3c394a8ebbefea96433fecb9bf27f7eb16107ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Mon, 13 Jan 2025 12:13:24 -0500 Subject: [PATCH 15/22] update PyCharm "sources" scope --- .idea/scopes/sources.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.idea/scopes/sources.xml b/.idea/scopes/sources.xml index afc1339c4..be5ea0678 100644 --- a/.idea/scopes/sources.xml +++ b/.idea/scopes/sources.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file From c758dbe41c6809363cd915cd11efc21e7ad52a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Hensgen?= Date: Mon, 13 Jan 2025 12:36:45 -0500 Subject: [PATCH 16/22] relock dependencies --- .../py-3.10-linux-64-dev.conda.lock.yml | 405 +- environments/py-3.10-linux-64.conda.lock.yml | 329 +- .../py-3.10-win-64-dev.conda.lock.yml | 396 +- environments/py-3.10-win-64.conda.lock.yml | 320 +- py-3.10.conda-lock.yml | 3502 +++++++++-------- pyproject.toml | 4 +- 6 files changed, 2550 insertions(+), 2406 deletions(-) diff --git a/environments/py-3.10-linux-64-dev.conda.lock.yml b/environments/py-3.10-linux-64-dev.conda.lock.yml index 0a98401dd..b4d4c7001 100644 --- a/environments/py-3.10-linux-64-dev.conda.lock.yml +++ b/environments/py-3.10-linux-64-dev.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 6fe6c850e02891721353896e7f18fe28b59eba6ad2eed718e9c159c87fe0418a +# input_hash: 566b52441c481328d4e425a9b68c231d6600edabf4671b0e10b13e58661baf73 channels: - conda-forge @@ -8,25 +8,26 @@ channels: dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_kmp_llvm - - accessible-pygments=0.0.5=pyhd8ed1ab_0 + - accessible-pygments=0.0.5=pyhd8ed1ab_1 - alabaster=0.7.16=pyhd8ed1ab_0 - alsa-lib=1.2.13=hb9d3cd8_0 - - annotated-types=0.7.0=pyhd8ed1ab_0 + - annotated-types=0.7.0=pyhd8ed1ab_1 - ansi2html=1.9.2=py310hff52083_2 - - anyio=4.6.2.post1=pyhd8ed1ab_0 + - anyio=4.8.0=pyhd8ed1ab_0 - aom=3.9.1=hac33072_0 - - argon2-cffi=23.1.0=pyhd8ed1ab_0 + - argon2-cffi=23.1.0=pyhd8ed1ab_1 - argon2-cffi-bindings=21.2.0=py310ha75aee5_5 - - arrow=1.3.0=pyhd8ed1ab_0 + - arrow=1.3.0=pyhd8ed1ab_1 - asciitree=0.3.3=py_2 - - astroid=3.3.5=py310hff52083_0 - - asttokens=2.4.1=pyhd8ed1ab_0 - - async-lru=2.0.4=pyhd8ed1ab_0 + - astroid=3.3.8=py310hff52083_0 + - asttokens=3.0.0=pyhd8ed1ab_1 + - async-lru=2.0.4=pyhd8ed1ab_1 - attr=2.5.1=h166bdaf_1 - - attrs=24.2.0=pyh71513ae_0 - - babel=2.16.0=pyhd8ed1ab_0 - - beautifulsoup4=4.12.3=pyha770c72_0 - - bleach=6.2.0=pyhd8ed1ab_0 + - attrs=24.3.0=pyh71513ae_0 + - babel=2.16.0=pyhd8ed1ab_1 + - beautifulsoup4=4.12.3=pyha770c72_1 + - bleach=6.2.0=pyhd8ed1ab_3 + - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.5=h0f2a231_0 - brotli=1.1.0=hb9d3cd8_2 @@ -34,46 +35,46 @@ dependencies: - brotli-python=1.1.0=py310hf71b8c6_2 - brunsli=0.1=h9c3ff4c_0 - bzip2=1.0.8=h4bc722e_7 - - c-ares=1.32.3=h4bc722e_0 + - c-ares=1.34.4=hb9d3cd8_0 - c-blosc2=2.14.3=hb4ffafa_0 - - ca-certificates=2024.8.30=hbcca054_0 + - ca-certificates=2024.12.14=hbcca054_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cairo=1.18.0=h3faef2a_0 - - certifi=2024.8.30=pyhd8ed1ab_0 + - certifi=2024.12.14=pyhd8ed1ab_0 - cffi=1.17.1=py310h8deb56e_0 - cfitsio=4.2.0=hd9d235c_0 - charls=2.4.2=h59595ed_0 - - charset-normalizer=3.4.0=pyhd8ed1ab_0 - - click=8.1.7=unix_pyh707e725_0 - - click-plugins=1.1.1=py_0 - - cligj=0.7.2=pyhd8ed1ab_1 - - cloudpickle=3.1.0=pyhd8ed1ab_1 - - colorama=0.4.6=pyhd8ed1ab_0 - - comm=0.2.2=pyhd8ed1ab_0 + - charset-normalizer=3.4.1=pyhd8ed1ab_0 + - click=8.1.8=pyh707e725_0 + - click-plugins=1.1.1=pyhd8ed1ab_1 + - cligj=0.7.2=pyhd8ed1ab_2 + - cloudpickle=3.1.0=pyhd8ed1ab_2 + - colorama=0.4.6=pyhd8ed1ab_1 + - comm=0.2.2=pyhd8ed1ab_1 - contourpy=1.3.1=py310h3788b33_0 - - coverage=7.6.7=py310h89163eb_0 - - cycler=0.12.1=pyhd8ed1ab_0 - - cytoolz=1.0.0=py310ha75aee5_1 + - coverage=7.6.10=py310h89163eb_0 + - cycler=0.12.1=pyhd8ed1ab_1 + - cytoolz=1.0.1=py310ha75aee5_0 - dash=2.12.1=pyhd8ed1ab_0 - - dash-daq=0.5.0=pyh9f0ad1d_1 + - dash-daq=0.5.0=pyhd8ed1ab_2 - dask-core=2024.6.2=pyhd8ed1ab_0 - dataclasses=0.8=pyhc8e2a94_3 - dav1d=1.2.1=hd590300_0 - dbus=1.13.6=h5008d03_3 - - debugpy=1.8.9=py310hf71b8c6_0 - - decorator=5.1.1=pyhd8ed1ab_0 + - debugpy=1.8.11=py310hf71b8c6_0 + - decorator=5.1.1=pyhd8ed1ab_1 - defusedxml=0.7.1=pyhd8ed1ab_0 - - dill=0.3.9=pyhd8ed1ab_0 + - dill=0.3.9=pyhd8ed1ab_1 - discretize=0.10.0=py310hcb52e73_1 - distributed=2024.6.2=pyhd8ed1ab_0 - docutils=0.19=py310hff52083_1 - empymod=2.2.2=pyhd8ed1ab_0 - - entrypoints=0.4=pyhd8ed1ab_0 - - exceptiongroup=1.2.2=pyhd8ed1ab_0 - - executing=2.1.0=pyhd8ed1ab_0 + - entrypoints=0.4=pyhd8ed1ab_1 + - exceptiongroup=1.2.2=pyhd8ed1ab_1 + - executing=2.1.0=pyhd8ed1ab_1 - expat=2.6.4=h5888daf_0 - - fasteners=0.17.3=pyhd8ed1ab_0 + - fasteners=0.19=pyhd8ed1ab_1 - fiona=1.9.3=py310ha325b7b_0 - flask=3.1.0=pyhff2d567_0 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 @@ -83,10 +84,10 @@ dependencies: - fontconfig=2.15.0=h7e30c49_1 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - - fonttools=4.55.0=py310h89163eb_0 - - fqdn=1.5.1=pyhd8ed1ab_0 + - fonttools=4.55.3=py310h89163eb_1 + - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.12.1=h267a509_2 - - freexl=2.0.0=h743c826_0 + - freexl=2.0.0=h9dce30a_2 - fsspec=2022.11.0=pyhd8ed1ab_0 - gdal=3.6.4=py310h5c4b078_22 - geoana=0.5.0=py310hcb52e73_4 @@ -98,58 +99,58 @@ dependencies: - glib=2.78.1=hfc55251_0 - glib-tools=2.78.1=hfc55251_0 - graphite2=1.3.13=h59595ed_1003 - - greenlet=3.1.1=py310hf71b8c6_0 + - greenlet=3.1.1=py310hf71b8c6_1 - gst-plugins-base=1.22.7=h8e1006c_0 - gstreamer=1.22.7=h98fc4e7_0 - - h11=0.14.0=pyhd8ed1ab_0 - - h2=4.1.0=pyhd8ed1ab_0 - - h5py=3.12.1=nompi_py310h60e0fe6_102 + - h11=0.14.0=pyhd8ed1ab_1 + - h2=4.1.0=pyhd8ed1ab_1 + - h5py=3.12.1=nompi_py310h60e0fe6_103 - harfbuzz=8.3.0=h3d44ed6_0 - hdf4=4.2.15=h2a13503_7 - - hdf5=1.14.3=nompi_hdf9ad27_105 - - hpack=4.0.0=pyh9f0ad1d_0 + - hdf5=1.14.3=nompi_h2d575fe_108 + - hpack=4.0.0=pyhd8ed1ab_1 - httpcore=1.0.7=pyh29332c3_1 - - httpx=0.27.2=pyhd8ed1ab_0 - - hyperframe=6.0.1=pyhd8ed1ab_0 + - httpx=0.28.1=pyhd8ed1ab_0 + - hyperframe=6.0.1=pyhd8ed1ab_1 - icu=73.2=h59595ed_0 - - idna=3.10=pyhd8ed1ab_0 + - idna=3.10=pyhd8ed1ab_1 - imagecodecs=2024.1.1=py310h0c5f7e8_2 - - imageio=2.36.0=pyh12aca89_1 + - imageio=2.36.1=pyh12aca89_1 - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.5.0=pyha770c72_0 - - importlib_metadata=8.5.0=hd8ed1ab_0 - - importlib_resources=6.4.5=pyhd8ed1ab_0 - - iniconfig=2.0.0=pyhd8ed1ab_0 + - importlib-metadata=8.5.0=pyha770c72_1 + - importlib_metadata=8.5.0=hd8ed1ab_1 + - importlib_resources=6.5.2=pyhd8ed1ab_0 + - iniconfig=2.0.0=pyhd8ed1ab_1 - ipyfilechooser=0.6.0=pyhd8ed1ab_0 - ipykernel=6.29.5=pyh3099207_0 - - ipython=8.29.0=pyh707e725_0 - - ipython_genutils=0.2.0=pyhd8ed1ab_1 + - ipython=8.31.0=pyh707e725_0 + - ipython_genutils=0.2.0=pyhd8ed1ab_2 - ipywidgets=7.8.5=pyhd8ed1ab_0 - - isoduration=20.11.0=pyhd8ed1ab_0 - - isort=5.13.2=pyhd8ed1ab_0 - - itsdangerous=2.2.0=pyhd8ed1ab_0 - - jedi=0.19.2=pyhff2d567_0 - - jinja2=3.1.4=pyhd8ed1ab_0 - - joblib=1.4.2=pyhd8ed1ab_0 + - isoduration=20.11.0=pyhd8ed1ab_1 + - isort=5.13.2=pyhd8ed1ab_1 + - itsdangerous=2.2.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.5=pyhd8ed1ab_0 + - joblib=1.4.2=pyhd8ed1ab_1 - json-c=0.17=h1220068_1 - - json5=0.9.28=pyhff2d567_0 + - json5=0.10.0=pyhd8ed1ab_1 - jsonpointer=3.0.0=py310hff52083_1 - - jsonschema=4.23.0=pyhd8ed1ab_0 - - jsonschema-specifications=2024.10.1=pyhd8ed1ab_0 - - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_0 - - jupyter-book=1.0.3=pyhd8ed1ab_0 + - jsonschema=4.23.0=pyhd8ed1ab_1 + - jsonschema-specifications=2024.10.1=pyhd8ed1ab_1 + - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1 + - jupyter-book=1.0.3=pyhd8ed1ab_1 - jupyter-cache=1.0.1=pyhff2d567_0 - - jupyter-lsp=2.2.5=pyhd8ed1ab_0 - - jupyter_client=8.6.3=pyhd8ed1ab_0 + - jupyter-lsp=2.2.5=pyhd8ed1ab_1 + - jupyter_client=8.6.3=pyhd8ed1ab_1 - jupyter_core=5.7.2=pyh31011fe_1 - - jupyter_events=0.10.0=pyhd8ed1ab_0 - - jupyter_server=2.14.2=pyhd8ed1ab_0 - - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0 - - jupyterlab=4.2.6=pyhff2d567_0 - - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1 - - jupyterlab_server=2.27.3=pyhd8ed1ab_0 + - jupyter_events=0.11.0=pyhd8ed1ab_0 + - jupyter_server=2.15.0=pyhd8ed1ab_0 + - jupyter_server_terminals=0.5.3=pyhd8ed1ab_1 + - jupyterlab=4.3.4=pyhd8ed1ab_0 + - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 + - jupyterlab_server=2.27.3=pyhd8ed1ab_1 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 - - jupytext=1.16.4=pyh80e38bb_0 + - jupytext=1.16.6=pyh80e38bb_0 - jxrlib=1.1=hd590300_3 - kealib=1.5.3=hf8d3e68_2 - keyutils=1.6.1=h166bdaf_0 @@ -157,8 +158,8 @@ dependencies: - krb5=1.21.3=h659f571_0 - lame=3.100=h166bdaf_1003 - latexcodec=2.0.1=pyh9f0ad1d_0 - - lazy-loader=0.4=pyhd8ed1ab_1 - - lazy_loader=0.4=pyhd8ed1ab_1 + - lazy-loader=0.4=pyhd8ed1ab_2 + - lazy_loader=0.4=pyhd8ed1ab_2 - lcms2=2.16=hb7c19ff_0 - ld_impl_linux-64=2.43=h712a8e2_2 - lerc=4.0.0=h27087fc_0 @@ -171,16 +172,16 @@ dependencies: - libbrotlicommon=1.1.0=hb9d3cd8_2 - libbrotlidec=1.1.0=hb9d3cd8_2 - libbrotlienc=1.1.0=hb9d3cd8_2 - - libcap=2.69=h0f662aa_0 + - libcap=2.71=h39aace5_0 - libcblas=3.9.0=20_linux64_mkl - libclang=15.0.7=default_h127d8a8_5 - libclang13=15.0.7=default_h5d6823c_5 - libcrc32c=1.1.2=h9c3ff4c_0 - libcups=2.3.3=h4637d8d_4 - - libcurl=8.10.1=hbbe4b11_0 + - libcurl=8.11.1=h332b0f4_0 - libdeflate=1.19=hd590300_0 - - libdlf=0.3.0=pyhd8ed1ab_0 - - libedit=3.1.20191231=he28a2e2_2 + - libdlf=0.3.0=pyhd8ed1ab_1 + - libedit=3.1.20240808=pl5321h7949ede_0 - libev=4.33=hd590300_2 - libevent=2.1.12=hf998b51_1 - libexpat=2.6.4=h5888daf_0 @@ -188,7 +189,7 @@ dependencies: - libflac=1.4.3=h59595ed_0 - libgcc=14.2.0=h77fa898_1 - libgcc-ng=14.2.0=h69a702a_1 - - libgcrypt=1.11.0=h4ab18f5_1 + - libgcrypt-lib=1.11.0=hb9d3cd8_2 - libgdal=3.6.4=hb454697_22 - libgettextpo=0.22.5=he02047a_3 - libgettextpo-devel=0.22.5=he02047a_3 @@ -208,12 +209,14 @@ dependencies: - liblapack=3.9.0=20_linux64_mkl - libllvm14=14.0.6=hcd5def8_4 - libllvm15=15.0.7=hb3ce162_4 + - liblzma=5.6.3=hb9d3cd8_1 + - liblzma-devel=5.6.3=hb9d3cd8_1 - libnetcdf=4.9.2=nompi_h135f659_114 - libnghttp2=1.64.0=h161d5f1_0 - libnsl=2.0.1=hd590300_0 - libogg=1.3.5=h4ab18f5_0 - libopus=1.3.1=h7f98852_1 - - libpng=1.6.44=hadc24fc_0 + - libpng=1.6.45=h943b412_0 - libpq=16.4=h2d7952a_3 - libprotobuf=4.25.1=hf27288f_2 - libre2-11=2023.09.01=h7a70373_1 @@ -221,11 +224,11 @@ dependencies: - libsndfile=1.2.2=hc60ed4a_1 - libsodium=1.0.20=h4ab18f5_0 - libspatialite=5.0.1=h090f1da_29 - - libsqlite=3.47.0=hadc24fc_1 - - libssh2=1.11.0=h0841786_0 + - libsqlite=3.47.2=hee588c1_0 + - libssh2=1.11.1=hf672d98_0 - libstdcxx=14.2.0=hc0a3c3a_1 - libstdcxx-ng=14.2.0=h4852527_1 - - libsystemd0=256.7=h2774228_1 + - libsystemd0=256.9=h2774228_0 - libtiff=4.6.0=ha9c0a0a_2 - libuuid=2.38.1=h0b41bf4_0 - libvorbis=1.3.7=h9c3ff4c_0 @@ -239,100 +242,100 @@ dependencies: - libzip=1.11.2=h6991a6a_0 - libzlib=1.3.1=hb9d3cd8_2 - libzopfli=1.0.3=h9c3ff4c_0 - - linkify-it-py=2.0.3=pyhd8ed1ab_0 - - llvm-openmp=19.1.4=h024ca30_0 + - linkify-it-py=2.0.3=pyhd8ed1ab_1 + - llvm-openmp=19.1.6=h024ca30_0 - llvmlite=0.43.0=py310h1a6248f_1 - locket=1.0.0=pyhd8ed1ab_0 - lz4-c=1.9.4=hcb278e6_0 - markdown-it-py=2.2.0=pyhd8ed1ab_0 - - markupsafe=3.0.2=py310h89163eb_0 + - markupsafe=3.0.2=py310h89163eb_1 - matplotlib-base=3.8.4=py310hef631a5_2 - - matplotlib-inline=0.1.7=pyhd8ed1ab_0 - - mccabe=0.7.0=pyhd8ed1ab_0 - - mdit-py-plugins=0.4.2=pyhd8ed1ab_0 - - mdurl=0.1.2=pyhd8ed1ab_0 - - minizip=4.0.7=h401b404_0 - - mistune=3.0.2=pyhd8ed1ab_0 + - matplotlib-inline=0.1.7=pyhd8ed1ab_1 + - mccabe=0.7.0=pyhd8ed1ab_1 + - mdit-py-plugins=0.4.2=pyhd8ed1ab_1 + - mdurl=0.1.2=pyhd8ed1ab_1 + - minizip=4.0.7=h05a5f5f_3 + - mistune=3.1.0=pyhd8ed1ab_0 - mkl=2023.2.0=h84fe81f_50496 - mpg123=1.32.9=hc50e24c_0 - msgpack-python=1.1.0=py310h3788b33_0 - - munch=4.0.0=pyhd8ed1ab_0 + - munch=4.0.0=pyhd8ed1ab_1 - munkres=1.1.4=pyh9f0ad1d_0 - mysql-common=8.0.33=hf1915f5_6 - mysql-libs=8.0.33=hca2cd23_6 - - myst-nb=1.1.2=pyhd8ed1ab_0 + - myst-nb=1.1.2=pyhd8ed1ab_1 - myst-parser=1.0.0=pyhd8ed1ab_0 - - nbclient=0.10.0=pyhd8ed1ab_0 - - nbconvert-core=7.16.4=pyhd8ed1ab_1 - - nbformat=5.10.4=pyhd8ed1ab_0 - - ncurses=6.5=he02047a_1 - - nest-asyncio=1.6.0=pyhd8ed1ab_0 + - nbclient=0.10.2=pyhd8ed1ab_0 + - nbconvert-core=7.16.5=pyhd8ed1ab_1 + - nbformat=5.10.4=pyhd8ed1ab_1 + - ncurses=6.5=h2d0b736_2 + - nest-asyncio=1.6.0=pyhd8ed1ab_1 - networkx=3.4.2=pyh267e887_2 - - notebook=7.2.2=pyhd8ed1ab_0 - - notebook-shim=0.2.4=pyhd8ed1ab_0 + - notebook=7.3.2=pyhd8ed1ab_0 + - notebook-shim=0.2.4=pyhd8ed1ab_1 - nspr=4.36=h5888daf_0 - nss=3.107=hdf54f9c_0 - numba=0.60.0=py310h5dc88bb_0 - numcodecs=0.13.1=py310h5eaa309_0 - numpy=1.26.4=py310hb13e2d6_0 - openjpeg=2.5.2=h488ebb8_0 - - openssl=3.4.0=hb9d3cd8_0 - - overrides=7.7.0=pyhd8ed1ab_0 - - packaging=24.2=pyhff2d567_1 + - openssl=3.4.0=h7b32b05_1 + - overrides=7.7.0=pyhd8ed1ab_1 + - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py310h5eaa309_1 - pandocfilters=1.5.0=pyhd8ed1ab_0 - - parso=0.8.4=pyhd8ed1ab_0 + - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pcre2=10.40=hc3806b6_0 - - pexpect=4.9.0=pyhd8ed1ab_0 - - pickleshare=0.7.5=py_1003 + - pexpect=4.9.0=pyhd8ed1ab_1 + - pickleshare=0.7.5=pyhd8ed1ab_1004 - pillow=10.3.0=py310hf73ecf8_0 - - pip=24.3.1=pyh8b19718_0 - - pixman=0.43.2=h59595ed_0 - - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 - - platformdirs=4.3.6=pyhd8ed1ab_0 + - pip=24.3.1=pyh8b19718_2 + - pixman=0.44.2=h29eaf8c_0 + - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2 + - platformdirs=4.3.6=pyhd8ed1ab_1 - plotly=5.19.0=pyhd8ed1ab_0 - - pluggy=1.5.0=pyhd8ed1ab_0 - - ply=3.11=pyhd8ed1ab_2 + - pluggy=1.5.0=pyhd8ed1ab_1 + - ply=3.11=pyhd8ed1ab_3 - poppler=23.10.0=h590f24d_0 - poppler-data=0.4.12=hd8ed1ab_0 - postgresql=16.4=hb2eb5c0_3 - proj=9.3.0=h1d62c97_2 - - prometheus_client=0.21.0=pyhd8ed1ab_0 - - prompt-toolkit=3.0.48=pyha770c72_0 + - prometheus_client=0.21.1=pyhd8ed1ab_0 + - prompt-toolkit=3.0.48=pyha770c72_1 - properties=0.6.1=py_0 - - psutil=6.1.0=py310ha75aee5_0 + - psutil=6.1.1=py310ha75aee5_0 - pthread-stubs=0.4=hb9d3cd8_1002 - - ptyprocess=0.7.0=pyhd3deb0d_0 + - ptyprocess=0.7.0=pyhd8ed1ab_1 - pulseaudio-client=16.1=hb77b528_5 - - pure_eval=0.2.3=pyhd8ed1ab_0 - - pybtex=0.24.0=pyhd8ed1ab_2 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pybtex=0.24.0=pyhd8ed1ab_3 - pybtex-docutils=1.0.3=py310hff52083_2 - - pycparser=2.22=pyhd8ed1ab_0 - - pydantic=2.10.1=pyh10f6f8f_0 - - pydantic-core=2.27.1=py310h505e2c1_0 + - pycparser=2.22=pyh29332c3_1 + - pydantic=2.10.5=pyh3cfb1c2_0 + - pydantic-core=2.27.2=py310h505e2c1_0 - pydata-sphinx-theme=0.15.4=pyhd8ed1ab_0 - pydiso=0.1.2=py310h7b68af5_0 - - pygments=2.18.0=pyhd8ed1ab_0 - - pylint=3.3.1=pyhd8ed1ab_0 + - pygments=2.19.1=pyhd8ed1ab_0 + - pylint=3.3.3=pyhd8ed1ab_0 - pymatsolver=0.2.0=ha770c72_3 - pymatsolver-base=0.2.0=pyh44b312d_3 - - pyparsing=3.2.0=pyhd8ed1ab_1 + - pyparsing=3.2.1=pyhd8ed1ab_0 - pyqt=5.15.9=py310h04931ad_5 - pyqt5-sip=12.12.2=py310hc6cd4ac_5 - pyqtwebengine=5.15.9=py310h704022c_5 - pyside2=5.15.8=py310hffc9498_4 - - pysocks=1.7.1=pyha2e5f31_6 - - pytest=8.3.3=pyhd8ed1ab_0 - - pytest-cov=6.0.0=pyhd8ed1ab_0 - - python=3.10.15=h4a871b0_2_cpython - - python-dateutil=2.9.0.post0=pyhff2d567_0 - - python-fastjsonschema=2.20.0=pyhd8ed1ab_0 + - pysocks=1.7.1=pyha55dd90_7 + - pytest=8.3.4=pyhd8ed1ab_1 + - pytest-cov=6.0.0=pyhd8ed1ab_1 + - python=3.10.16=he725a3c_1_cpython + - python-dateutil=2.9.0.post0=pyhff2d567_1 + - python-fastjsonschema=2.21.1=pyhd8ed1ab_0 - python-json-logger=2.0.7=pyhd8ed1ab_0 - python-tzdata=2023.4=pyhd8ed1ab_0 - python_abi=3.10=5_cp310 - pytz=2024.1=pyhd8ed1ab_0 - - pywavelets=1.7.0=py310hf462985_2 + - pywavelets=1.8.0=py310hf462985_0 - pyyaml=6.0.2=py310ha75aee5_1 - pyzmq=26.2.0=py310h71f11fc_3 - qt-main=5.15.8=h82b777d_17 @@ -340,83 +343,83 @@ dependencies: - rav1e=0.6.6=he8a937b_2 - re2=2023.09.01=h7f4b329_1 - readline=8.2=h8228510_1 - - readthedocs-sphinx-ext=2.2.5=pyhd8ed1ab_0 - - referencing=0.35.1=pyhd8ed1ab_0 - - requests=2.32.3=pyhd8ed1ab_0 + - readthedocs-sphinx-ext=2.2.5=pyhd8ed1ab_1 + - referencing=0.35.1=pyhd8ed1ab_1 + - requests=2.32.3=pyhd8ed1ab_1 - retrying=1.3.3=pyhd8ed1ab_3 - - rfc3339-validator=0.1.4=pyhd8ed1ab_0 + - rfc3339-validator=0.1.4=pyhd8ed1ab_1 - rfc3986-validator=0.1.1=pyh9f0ad1d_0 - - rpds-py=0.21.0=py310h505e2c1_0 + - rpds-py=0.22.3=py310h505e2c1_0 - scikit-image=0.24.0=py310h5eaa309_3 - scikit-learn=1.4.2=py310h981052a_1 - - scipy=1.14.1=py310hfcf56fc_1 - - semver=3.0.2=pyhd8ed1ab_0 - - send2trash=1.8.3=pyh0d859eb_0 - - setuptools=75.6.0=pyhff2d567_0 + - scipy=1.14.1=py310hfcf56fc_2 + - semver=3.0.2=pyhd8ed1ab_1 + - send2trash=1.8.3=pyh0d859eb_1 + - setuptools=75.8.0=pyhff2d567_0 - shapely=2.0.2=py310h7dcad9a_0 - sip=6.7.12=py310hc6cd4ac_0 - - six=1.16.0=pyh6c4a22f_0 + - six=1.17.0=pyhd8ed1ab_0 - snappy=1.1.10=hdb0a2a9_1 - - sniffio=1.3.1=pyhd8ed1ab_0 + - sniffio=1.3.1=pyhd8ed1ab_1 - snowballstemmer=2.2.0=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - sphinx=5.3.0=pyhd8ed1ab_0 - - sphinx-book-theme=1.1.3=pyhd8ed1ab_0 - - sphinx-comments=0.0.3=pyh9f0ad1d_0 - - sphinx-copybutton=0.5.2=pyhd8ed1ab_0 + - sphinx-book-theme=1.1.3=pyhd8ed1ab_1 + - sphinx-comments=0.0.3=pyhd8ed1ab_1 + - sphinx-copybutton=0.5.2=pyhd8ed1ab_1 - sphinx-design=0.6.1=pyhd8ed1ab_0 - - sphinx-external-toc=1.0.1=pyhd8ed1ab_0 - - sphinx-jupyterbook-latex=1.0.0=pyhd8ed1ab_0 - - sphinx-multitoc-numbering=0.1.3=pyhd8ed1ab_0 - - sphinx-thebe=0.3.1=pyhd8ed1ab_0 + - sphinx-external-toc=1.0.1=pyhd8ed1ab_1 + - sphinx-jupyterbook-latex=1.0.0=pyhd8ed1ab_1 + - sphinx-multitoc-numbering=0.1.3=pyhd8ed1ab_1 + - sphinx-thebe=0.3.1=pyhd8ed1ab_1 - sphinx-togglebutton=0.3.2=pyhd8ed1ab_0 - - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_0 + - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-bibtex=2.5.0=pyhd8ed1ab_0 - - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_0 - - sphinxcontrib-htmlhelp=2.1.0=pyhd8ed1ab_0 - - sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_0 - - sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_0 - - sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_0 - - sqlalchemy=2.0.36=py310ha75aee5_0 - - sqlite=3.47.0=h9eae976_1 - - stack_data=0.6.2=pyhd8ed1ab_0 + - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 + - sphinxcontrib-htmlhelp=2.1.0=pyhd8ed1ab_1 + - sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_1 + - sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_1 + - sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_1 + - sqlalchemy=2.0.37=py310ha75aee5_0 + - sqlite=3.47.2=h9eae976_0 + - stack_data=0.6.3=pyhd8ed1ab_1 - svt-av1=2.3.0=h5888daf_0 - - tabulate=0.9.0=pyhd8ed1ab_1 + - tabulate=0.9.0=pyhd8ed1ab_2 - tbb=2021.12.0=h84d6215_4 - - tblib=3.0.0=pyhd8ed1ab_0 - - tenacity=9.0.0=pyhd8ed1ab_0 + - tblib=3.0.0=pyhd8ed1ab_1 + - tenacity=9.0.0=pyhd8ed1ab_1 - terminado=0.18.1=pyh0d859eb_0 - threadpoolctl=3.5.0=pyhc1e730c_0 - - tifffile=2024.9.20=pyhd8ed1ab_0 + - tifffile=2024.12.12=pyhd8ed1ab_0 - tiledb=2.16.3=h8c794c1_3 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h4845f30_101 - - toml=0.10.2=pyhd8ed1ab_0 - - tomli=2.1.0=pyhff2d567_0 - - tomlkit=0.13.2=pyha770c72_0 - - toolz=1.0.0=pyhd8ed1ab_0 - - tornado=6.4.1=py310ha75aee5_1 - - tqdm=4.67.0=pyhd8ed1ab_0 - - traitlets=5.14.3=pyhd8ed1ab_0 - - types-python-dateutil=2.9.0.20241003=pyhff2d567_0 - - typing-extensions=4.12.2=hd8ed1ab_0 - - typing_extensions=4.12.2=pyha770c72_0 - - typing_utils=0.1.0=pyhd8ed1ab_0 + - toml=0.10.2=pyhd8ed1ab_1 + - tomli=2.2.1=pyhd8ed1ab_1 + - tomlkit=0.13.2=pyha770c72_1 + - toolz=1.0.0=pyhd8ed1ab_1 + - tornado=6.4.2=py310ha75aee5_0 + - tqdm=4.67.1=pyhd8ed1ab_1 + - traitlets=5.14.3=pyhd8ed1ab_1 + - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 + - typing-extensions=4.12.2=hd8ed1ab_1 + - typing_extensions=4.12.2=pyha770c72_1 + - typing_utils=0.1.0=pyhd8ed1ab_1 - tzcode=2024b=hb9d3cd8_0 - tzdata=2024b=hc8b5060_0 - - uc-micro-py=1.0.3=pyhd8ed1ab_0 - - unicodedata2=15.1.0=py310ha75aee5_1 - - uri-template=1.3.0=pyhd8ed1ab_0 + - uc-micro-py=1.0.3=pyhd8ed1ab_1 + - unicodedata2=16.0.0=py310ha75aee5_0 + - uri-template=1.3.0=pyhd8ed1ab_1 - uriparser=0.9.8=hac33072_0 - - urllib3=2.2.3=pyhd8ed1ab_0 + - urllib3=2.3.0=pyhd8ed1ab_0 - vectormath=0.2.2=py_0 - - wcwidth=0.2.13=pyhd8ed1ab_0 - - webcolors=24.8.0=pyhd8ed1ab_0 - - webencodings=0.5.1=pyhd8ed1ab_2 - - websocket-client=1.8.0=pyhd8ed1ab_0 - - werkzeug=3.1.3=pyhff2d567_0 - - wheel=0.45.0=pyhd8ed1ab_0 + - wcwidth=0.2.13=pyhd8ed1ab_1 + - webcolors=24.11.1=pyhd8ed1ab_0 + - webencodings=0.5.1=pyhd8ed1ab_3 + - websocket-client=1.8.0=pyhd8ed1ab_1 + - werkzeug=3.1.3=pyhd8ed1ab_1 + - wheel=0.45.1=pyhd8ed1ab_1 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - xcb-util=0.4.0=hd590300_1 - xcb-util-image=0.4.0=h8ee46fc_1 @@ -430,10 +433,10 @@ dependencies: - xorg-fixesproto=5.0=hb9d3cd8_1003 - xorg-inputproto=2.3.2=hb9d3cd8_1003 - xorg-kbproto=1.0.7=hb9d3cd8_1003 - - xorg-libice=1.1.1=hb9d3cd8_1 - - xorg-libsm=1.2.4=he73a12e_1 + - xorg-libice=1.1.2=hb9d3cd8_0 + - xorg-libsm=1.2.5=he73a12e_0 - xorg-libx11=1.8.9=h8ee46fc_0 - - xorg-libxau=1.0.11=hb9d3cd8_1 + - xorg-libxau=1.0.12=hb9d3cd8_0 - xorg-libxcomposite=0.4.6=h0b41bf4_1 - xorg-libxdamage=1.1.5=h7f98852_1 - xorg-libxdmcp=1.1.5=hb9d3cd8_0 @@ -450,28 +453,30 @@ dependencies: - xorg-xextproto=7.3.0=hb9d3cd8_1004 - xorg-xf86vidmodeproto=2.3.1=hb9d3cd8_1005 - xorg-xproto=7.0.31=hb9d3cd8_1008 - - xz=5.2.6=h166bdaf_0 + - xz=5.6.3=hbcc6ac9_1 + - xz-gpl-tools=5.6.3=hbcc6ac9_1 + - xz-tools=5.6.3=hb9d3cd8_1 - yaml=0.2.5=h7f98852_2 - zarr=2.14.2=pyhd8ed1ab_0 - zeromq=4.3.5=h3b0a872_7 - zfp=1.0.1=h5888daf_2 - - zict=3.0.0=pyhd8ed1ab_0 - - zipp=3.21.0=pyhd8ed1ab_0 + - zict=3.0.0=pyhd8ed1ab_1 + - zipp=3.21.0=pyhd8ed1ab_1 - zlib=1.3.1=hb9d3cd8_2 - zlib-ng=2.0.7=h0b41bf4_0 - zstandard=0.23.0=py310ha39cb0e_1 - zstd=1.5.6=ha6fb4c9_0 - pip: - - curve-apps == 0.2.0b1 - - geoapps-utils == 0.4.0b1 - - geoh5py == 0.10.0b3 - - mira-simpeg == 0.21.2.1b2 - - octree-creation-app == 0.2.0b1 - - param-sweeps == 0.2.0b1 - - peak-finder-app @ git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + - curve-apps == 0.2.0rc1 + - geoapps-utils == 0.4.0rc1 + - geoh5py == 0.10.0rc1 + - mira-simpeg == 0.21.2.1rc1 + - octree-creation-app == 0.2.0rc1 + - param-sweeps == 0.2.0rc1 + - peak-finder-app == 0.2.0rc1 - simpeg-archive == 0.11.0.1 - - simpeg-drivers @ git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b - - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + - simpeg-drivers == 0.2.0rc1 + - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.10-linux-64.conda.lock.yml b/environments/py-3.10-linux-64.conda.lock.yml index 4dc22f800..f397486cf 100644 --- a/environments/py-3.10-linux-64.conda.lock.yml +++ b/environments/py-3.10-linux-64.conda.lock.yml @@ -1,6 +1,6 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: 6fe6c850e02891721353896e7f18fe28b59eba6ad2eed718e9c159c87fe0418a +# input_hash: 566b52441c481328d4e425a9b68c231d6600edabf4671b0e10b13e58661baf73 channels: - conda-forge @@ -9,21 +9,22 @@ dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_kmp_llvm - alsa-lib=1.2.13=hb9d3cd8_0 - - annotated-types=0.7.0=pyhd8ed1ab_0 + - annotated-types=0.7.0=pyhd8ed1ab_1 - ansi2html=1.9.2=py310hff52083_2 - - anyio=4.6.2.post1=pyhd8ed1ab_0 + - anyio=4.8.0=pyhd8ed1ab_0 - aom=3.9.1=hac33072_0 - - argon2-cffi=23.1.0=pyhd8ed1ab_0 + - argon2-cffi=23.1.0=pyhd8ed1ab_1 - argon2-cffi-bindings=21.2.0=py310ha75aee5_5 - - arrow=1.3.0=pyhd8ed1ab_0 + - arrow=1.3.0=pyhd8ed1ab_1 - asciitree=0.3.3=py_2 - - asttokens=2.4.1=pyhd8ed1ab_0 - - async-lru=2.0.4=pyhd8ed1ab_0 + - asttokens=3.0.0=pyhd8ed1ab_1 + - async-lru=2.0.4=pyhd8ed1ab_1 - attr=2.5.1=h166bdaf_1 - - attrs=24.2.0=pyh71513ae_0 - - babel=2.16.0=pyhd8ed1ab_0 - - beautifulsoup4=4.12.3=pyha770c72_0 - - bleach=6.2.0=pyhd8ed1ab_0 + - attrs=24.3.0=pyh71513ae_0 + - babel=2.16.0=pyhd8ed1ab_1 + - beautifulsoup4=4.12.3=pyha770c72_1 + - bleach=6.2.0=pyhd8ed1ab_3 + - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.5=h0f2a231_0 - brotli=1.1.0=hb9d3cd8_2 @@ -31,42 +32,42 @@ dependencies: - brotli-python=1.1.0=py310hf71b8c6_2 - brunsli=0.1=h9c3ff4c_0 - bzip2=1.0.8=h4bc722e_7 - - c-ares=1.32.3=h4bc722e_0 + - c-ares=1.34.4=hb9d3cd8_0 - c-blosc2=2.14.3=hb4ffafa_0 - - ca-certificates=2024.8.30=hbcca054_0 + - ca-certificates=2024.12.14=hbcca054_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cairo=1.18.0=h3faef2a_0 - - certifi=2024.8.30=pyhd8ed1ab_0 + - certifi=2024.12.14=pyhd8ed1ab_0 - cffi=1.17.1=py310h8deb56e_0 - cfitsio=4.2.0=hd9d235c_0 - charls=2.4.2=h59595ed_0 - - charset-normalizer=3.4.0=pyhd8ed1ab_0 - - click=8.1.7=unix_pyh707e725_0 - - click-plugins=1.1.1=py_0 - - cligj=0.7.2=pyhd8ed1ab_1 - - cloudpickle=3.1.0=pyhd8ed1ab_1 - - colorama=0.4.6=pyhd8ed1ab_0 - - comm=0.2.2=pyhd8ed1ab_0 + - charset-normalizer=3.4.1=pyhd8ed1ab_0 + - click=8.1.8=pyh707e725_0 + - click-plugins=1.1.1=pyhd8ed1ab_1 + - cligj=0.7.2=pyhd8ed1ab_2 + - cloudpickle=3.1.0=pyhd8ed1ab_2 + - colorama=0.4.6=pyhd8ed1ab_1 + - comm=0.2.2=pyhd8ed1ab_1 - contourpy=1.3.1=py310h3788b33_0 - - cycler=0.12.1=pyhd8ed1ab_0 - - cytoolz=1.0.0=py310ha75aee5_1 + - cycler=0.12.1=pyhd8ed1ab_1 + - cytoolz=1.0.1=py310ha75aee5_0 - dash=2.12.1=pyhd8ed1ab_0 - - dash-daq=0.5.0=pyh9f0ad1d_1 + - dash-daq=0.5.0=pyhd8ed1ab_2 - dask-core=2024.6.2=pyhd8ed1ab_0 - dav1d=1.2.1=hd590300_0 - dbus=1.13.6=h5008d03_3 - - debugpy=1.8.9=py310hf71b8c6_0 - - decorator=5.1.1=pyhd8ed1ab_0 + - debugpy=1.8.11=py310hf71b8c6_0 + - decorator=5.1.1=pyhd8ed1ab_1 - defusedxml=0.7.1=pyhd8ed1ab_0 - discretize=0.10.0=py310hcb52e73_1 - distributed=2024.6.2=pyhd8ed1ab_0 - empymod=2.2.2=pyhd8ed1ab_0 - - entrypoints=0.4=pyhd8ed1ab_0 - - exceptiongroup=1.2.2=pyhd8ed1ab_0 - - executing=2.1.0=pyhd8ed1ab_0 + - entrypoints=0.4=pyhd8ed1ab_1 + - exceptiongroup=1.2.2=pyhd8ed1ab_1 + - executing=2.1.0=pyhd8ed1ab_1 - expat=2.6.4=h5888daf_0 - - fasteners=0.17.3=pyhd8ed1ab_0 + - fasteners=0.19=pyhd8ed1ab_1 - fiona=1.9.3=py310ha325b7b_0 - flask=3.1.0=pyhff2d567_0 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 @@ -76,10 +77,10 @@ dependencies: - fontconfig=2.15.0=h7e30c49_1 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - - fonttools=4.55.0=py310h89163eb_0 - - fqdn=1.5.1=pyhd8ed1ab_0 + - fonttools=4.55.3=py310h89163eb_1 + - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.12.1=h267a509_2 - - freexl=2.0.0=h743c826_0 + - freexl=2.0.0=h9dce30a_2 - fsspec=2022.11.0=pyhd8ed1ab_0 - gdal=3.6.4=py310h5c4b078_22 - geoana=0.5.0=py310hcb52e73_4 @@ -93,48 +94,48 @@ dependencies: - graphite2=1.3.13=h59595ed_1003 - gst-plugins-base=1.22.7=h8e1006c_0 - gstreamer=1.22.7=h98fc4e7_0 - - h11=0.14.0=pyhd8ed1ab_0 - - h2=4.1.0=pyhd8ed1ab_0 - - h5py=3.12.1=nompi_py310h60e0fe6_102 + - h11=0.14.0=pyhd8ed1ab_1 + - h2=4.1.0=pyhd8ed1ab_1 + - h5py=3.12.1=nompi_py310h60e0fe6_103 - harfbuzz=8.3.0=h3d44ed6_0 - hdf4=4.2.15=h2a13503_7 - - hdf5=1.14.3=nompi_hdf9ad27_105 - - hpack=4.0.0=pyh9f0ad1d_0 + - hdf5=1.14.3=nompi_h2d575fe_108 + - hpack=4.0.0=pyhd8ed1ab_1 - httpcore=1.0.7=pyh29332c3_1 - - httpx=0.27.2=pyhd8ed1ab_0 - - hyperframe=6.0.1=pyhd8ed1ab_0 + - httpx=0.28.1=pyhd8ed1ab_0 + - hyperframe=6.0.1=pyhd8ed1ab_1 - icu=73.2=h59595ed_0 - - idna=3.10=pyhd8ed1ab_0 + - idna=3.10=pyhd8ed1ab_1 - imagecodecs=2024.1.1=py310h0c5f7e8_2 - - imageio=2.36.0=pyh12aca89_1 - - importlib-metadata=8.5.0=pyha770c72_0 - - importlib_metadata=8.5.0=hd8ed1ab_0 - - importlib_resources=6.4.5=pyhd8ed1ab_0 + - imageio=2.36.1=pyh12aca89_1 + - importlib-metadata=8.5.0=pyha770c72_1 + - importlib_metadata=8.5.0=hd8ed1ab_1 + - importlib_resources=6.5.2=pyhd8ed1ab_0 - ipyfilechooser=0.6.0=pyhd8ed1ab_0 - ipykernel=6.29.5=pyh3099207_0 - - ipython=8.29.0=pyh707e725_0 - - ipython_genutils=0.2.0=pyhd8ed1ab_1 + - ipython=8.31.0=pyh707e725_0 + - ipython_genutils=0.2.0=pyhd8ed1ab_2 - ipywidgets=7.8.5=pyhd8ed1ab_0 - - isoduration=20.11.0=pyhd8ed1ab_0 - - itsdangerous=2.2.0=pyhd8ed1ab_0 - - jedi=0.19.2=pyhff2d567_0 - - jinja2=3.1.4=pyhd8ed1ab_0 - - joblib=1.4.2=pyhd8ed1ab_0 + - isoduration=20.11.0=pyhd8ed1ab_1 + - itsdangerous=2.2.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.5=pyhd8ed1ab_0 + - joblib=1.4.2=pyhd8ed1ab_1 - json-c=0.17=h1220068_1 - - json5=0.9.28=pyhff2d567_0 + - json5=0.10.0=pyhd8ed1ab_1 - jsonpointer=3.0.0=py310hff52083_1 - - jsonschema=4.23.0=pyhd8ed1ab_0 - - jsonschema-specifications=2024.10.1=pyhd8ed1ab_0 - - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_0 - - jupyter-lsp=2.2.5=pyhd8ed1ab_0 - - jupyter_client=8.6.3=pyhd8ed1ab_0 + - jsonschema=4.23.0=pyhd8ed1ab_1 + - jsonschema-specifications=2024.10.1=pyhd8ed1ab_1 + - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1 + - jupyter-lsp=2.2.5=pyhd8ed1ab_1 + - jupyter_client=8.6.3=pyhd8ed1ab_1 - jupyter_core=5.7.2=pyh31011fe_1 - - jupyter_events=0.10.0=pyhd8ed1ab_0 - - jupyter_server=2.14.2=pyhd8ed1ab_0 - - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0 - - jupyterlab=4.2.6=pyhff2d567_0 - - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1 - - jupyterlab_server=2.27.3=pyhd8ed1ab_0 + - jupyter_events=0.11.0=pyhd8ed1ab_0 + - jupyter_server=2.15.0=pyhd8ed1ab_0 + - jupyter_server_terminals=0.5.3=pyhd8ed1ab_1 + - jupyterlab=4.3.4=pyhd8ed1ab_0 + - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 + - jupyterlab_server=2.27.3=pyhd8ed1ab_1 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 - jxrlib=1.1=hd590300_3 - kealib=1.5.3=hf8d3e68_2 @@ -142,8 +143,8 @@ dependencies: - kiwisolver=1.4.7=py310h3788b33_0 - krb5=1.21.3=h659f571_0 - lame=3.100=h166bdaf_1003 - - lazy-loader=0.4=pyhd8ed1ab_1 - - lazy_loader=0.4=pyhd8ed1ab_1 + - lazy-loader=0.4=pyhd8ed1ab_2 + - lazy_loader=0.4=pyhd8ed1ab_2 - lcms2=2.16=hb7c19ff_0 - ld_impl_linux-64=2.43=h712a8e2_2 - lerc=4.0.0=h27087fc_0 @@ -156,16 +157,16 @@ dependencies: - libbrotlicommon=1.1.0=hb9d3cd8_2 - libbrotlidec=1.1.0=hb9d3cd8_2 - libbrotlienc=1.1.0=hb9d3cd8_2 - - libcap=2.69=h0f662aa_0 + - libcap=2.71=h39aace5_0 - libcblas=3.9.0=20_linux64_mkl - libclang=15.0.7=default_h127d8a8_5 - libclang13=15.0.7=default_h5d6823c_5 - libcrc32c=1.1.2=h9c3ff4c_0 - libcups=2.3.3=h4637d8d_4 - - libcurl=8.10.1=hbbe4b11_0 + - libcurl=8.11.1=h332b0f4_0 - libdeflate=1.19=hd590300_0 - - libdlf=0.3.0=pyhd8ed1ab_0 - - libedit=3.1.20191231=he28a2e2_2 + - libdlf=0.3.0=pyhd8ed1ab_1 + - libedit=3.1.20240808=pl5321h7949ede_0 - libev=4.33=hd590300_2 - libevent=2.1.12=hf998b51_1 - libexpat=2.6.4=h5888daf_0 @@ -173,7 +174,7 @@ dependencies: - libflac=1.4.3=h59595ed_0 - libgcc=14.2.0=h77fa898_1 - libgcc-ng=14.2.0=h69a702a_1 - - libgcrypt=1.11.0=h4ab18f5_1 + - libgcrypt-lib=1.11.0=hb9d3cd8_2 - libgdal=3.6.4=hb454697_22 - libgettextpo=0.22.5=he02047a_3 - libgettextpo-devel=0.22.5=he02047a_3 @@ -193,12 +194,14 @@ dependencies: - liblapack=3.9.0=20_linux64_mkl - libllvm14=14.0.6=hcd5def8_4 - libllvm15=15.0.7=hb3ce162_4 + - liblzma=5.6.3=hb9d3cd8_1 + - liblzma-devel=5.6.3=hb9d3cd8_1 - libnetcdf=4.9.2=nompi_h135f659_114 - libnghttp2=1.64.0=h161d5f1_0 - libnsl=2.0.1=hd590300_0 - libogg=1.3.5=h4ab18f5_0 - libopus=1.3.1=h7f98852_1 - - libpng=1.6.44=hadc24fc_0 + - libpng=1.6.45=h943b412_0 - libpq=16.4=h2d7952a_3 - libprotobuf=4.25.1=hf27288f_2 - libre2-11=2023.09.01=h7a70373_1 @@ -206,11 +209,11 @@ dependencies: - libsndfile=1.2.2=hc60ed4a_1 - libsodium=1.0.20=h4ab18f5_0 - libspatialite=5.0.1=h090f1da_29 - - libsqlite=3.47.0=hadc24fc_1 - - libssh2=1.11.0=h0841786_0 + - libsqlite=3.47.2=hee588c1_0 + - libssh2=1.11.1=hf672d98_0 - libstdcxx=14.2.0=hc0a3c3a_1 - libstdcxx-ng=14.2.0=h4852527_1 - - libsystemd0=256.7=h2774228_1 + - libsystemd0=256.9=h2774228_0 - libtiff=4.6.0=ha9c0a0a_2 - libuuid=2.38.1=h0b41bf4_0 - libvorbis=1.3.7=h9c3ff4c_0 @@ -224,86 +227,86 @@ dependencies: - libzip=1.11.2=h6991a6a_0 - libzlib=1.3.1=hb9d3cd8_2 - libzopfli=1.0.3=h9c3ff4c_0 - - llvm-openmp=19.1.4=h024ca30_0 + - llvm-openmp=19.1.6=h024ca30_0 - llvmlite=0.43.0=py310h1a6248f_1 - locket=1.0.0=pyhd8ed1ab_0 - lz4-c=1.9.4=hcb278e6_0 - - markupsafe=3.0.2=py310h89163eb_0 + - markupsafe=3.0.2=py310h89163eb_1 - matplotlib-base=3.8.4=py310hef631a5_2 - - matplotlib-inline=0.1.7=pyhd8ed1ab_0 - - minizip=4.0.7=h401b404_0 - - mistune=3.0.2=pyhd8ed1ab_0 + - matplotlib-inline=0.1.7=pyhd8ed1ab_1 + - minizip=4.0.7=h05a5f5f_3 + - mistune=3.1.0=pyhd8ed1ab_0 - mkl=2023.2.0=h84fe81f_50496 - mpg123=1.32.9=hc50e24c_0 - msgpack-python=1.1.0=py310h3788b33_0 - - munch=4.0.0=pyhd8ed1ab_0 + - munch=4.0.0=pyhd8ed1ab_1 - munkres=1.1.4=pyh9f0ad1d_0 - mysql-common=8.0.33=hf1915f5_6 - mysql-libs=8.0.33=hca2cd23_6 - - nbclient=0.10.0=pyhd8ed1ab_0 - - nbconvert-core=7.16.4=pyhd8ed1ab_1 - - nbformat=5.10.4=pyhd8ed1ab_0 - - ncurses=6.5=he02047a_1 - - nest-asyncio=1.6.0=pyhd8ed1ab_0 + - nbclient=0.10.2=pyhd8ed1ab_0 + - nbconvert-core=7.16.5=pyhd8ed1ab_1 + - nbformat=5.10.4=pyhd8ed1ab_1 + - ncurses=6.5=h2d0b736_2 + - nest-asyncio=1.6.0=pyhd8ed1ab_1 - networkx=3.4.2=pyh267e887_2 - - notebook=7.2.2=pyhd8ed1ab_0 - - notebook-shim=0.2.4=pyhd8ed1ab_0 + - notebook=7.3.2=pyhd8ed1ab_0 + - notebook-shim=0.2.4=pyhd8ed1ab_1 - nspr=4.36=h5888daf_0 - nss=3.107=hdf54f9c_0 - numba=0.60.0=py310h5dc88bb_0 - numcodecs=0.13.1=py310h5eaa309_0 - numpy=1.26.4=py310hb13e2d6_0 - openjpeg=2.5.2=h488ebb8_0 - - openssl=3.4.0=hb9d3cd8_0 - - overrides=7.7.0=pyhd8ed1ab_0 - - packaging=24.2=pyhff2d567_1 + - openssl=3.4.0=h7b32b05_1 + - overrides=7.7.0=pyhd8ed1ab_1 + - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py310h5eaa309_1 - pandocfilters=1.5.0=pyhd8ed1ab_0 - - parso=0.8.4=pyhd8ed1ab_0 + - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pcre2=10.40=hc3806b6_0 - - pexpect=4.9.0=pyhd8ed1ab_0 - - pickleshare=0.7.5=py_1003 + - pexpect=4.9.0=pyhd8ed1ab_1 + - pickleshare=0.7.5=pyhd8ed1ab_1004 - pillow=10.3.0=py310hf73ecf8_0 - - pip=24.3.1=pyh8b19718_0 - - pixman=0.43.2=h59595ed_0 - - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 - - platformdirs=4.3.6=pyhd8ed1ab_0 + - pip=24.3.1=pyh8b19718_2 + - pixman=0.44.2=h29eaf8c_0 + - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2 + - platformdirs=4.3.6=pyhd8ed1ab_1 - plotly=5.19.0=pyhd8ed1ab_0 - - ply=3.11=pyhd8ed1ab_2 + - ply=3.11=pyhd8ed1ab_3 - poppler=23.10.0=h590f24d_0 - poppler-data=0.4.12=hd8ed1ab_0 - postgresql=16.4=hb2eb5c0_3 - proj=9.3.0=h1d62c97_2 - - prometheus_client=0.21.0=pyhd8ed1ab_0 - - prompt-toolkit=3.0.48=pyha770c72_0 + - prometheus_client=0.21.1=pyhd8ed1ab_0 + - prompt-toolkit=3.0.48=pyha770c72_1 - properties=0.6.1=py_0 - - psutil=6.1.0=py310ha75aee5_0 + - psutil=6.1.1=py310ha75aee5_0 - pthread-stubs=0.4=hb9d3cd8_1002 - - ptyprocess=0.7.0=pyhd3deb0d_0 + - ptyprocess=0.7.0=pyhd8ed1ab_1 - pulseaudio-client=16.1=hb77b528_5 - - pure_eval=0.2.3=pyhd8ed1ab_0 - - pycparser=2.22=pyhd8ed1ab_0 - - pydantic=2.10.1=pyh10f6f8f_0 - - pydantic-core=2.27.1=py310h505e2c1_0 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pycparser=2.22=pyh29332c3_1 + - pydantic=2.10.5=pyh3cfb1c2_0 + - pydantic-core=2.27.2=py310h505e2c1_0 - pydiso=0.1.2=py310h7b68af5_0 - - pygments=2.18.0=pyhd8ed1ab_0 + - pygments=2.19.1=pyhd8ed1ab_0 - pymatsolver=0.2.0=ha770c72_3 - pymatsolver-base=0.2.0=pyh44b312d_3 - - pyparsing=3.2.0=pyhd8ed1ab_1 + - pyparsing=3.2.1=pyhd8ed1ab_0 - pyqt=5.15.9=py310h04931ad_5 - pyqt5-sip=12.12.2=py310hc6cd4ac_5 - pyqtwebengine=5.15.9=py310h704022c_5 - pyside2=5.15.8=py310hffc9498_4 - - pysocks=1.7.1=pyha2e5f31_6 - - python=3.10.15=h4a871b0_2_cpython - - python-dateutil=2.9.0.post0=pyhff2d567_0 - - python-fastjsonschema=2.20.0=pyhd8ed1ab_0 + - pysocks=1.7.1=pyha55dd90_7 + - python=3.10.16=he725a3c_1_cpython + - python-dateutil=2.9.0.post0=pyhff2d567_1 + - python-fastjsonschema=2.21.1=pyhd8ed1ab_0 - python-json-logger=2.0.7=pyhd8ed1ab_0 - python-tzdata=2023.4=pyhd8ed1ab_0 - python_abi=3.10=5_cp310 - pytz=2024.1=pyhd8ed1ab_0 - - pywavelets=1.7.0=py310hf462985_2 + - pywavelets=1.8.0=py310hf462985_0 - pyyaml=6.0.2=py310ha75aee5_1 - pyzmq=26.2.0=py310h71f11fc_3 - qt-main=5.15.8=h82b777d_17 @@ -311,59 +314,59 @@ dependencies: - rav1e=0.6.6=he8a937b_2 - re2=2023.09.01=h7f4b329_1 - readline=8.2=h8228510_1 - - referencing=0.35.1=pyhd8ed1ab_0 - - requests=2.32.3=pyhd8ed1ab_0 + - referencing=0.35.1=pyhd8ed1ab_1 + - requests=2.32.3=pyhd8ed1ab_1 - retrying=1.3.3=pyhd8ed1ab_3 - - rfc3339-validator=0.1.4=pyhd8ed1ab_0 + - rfc3339-validator=0.1.4=pyhd8ed1ab_1 - rfc3986-validator=0.1.1=pyh9f0ad1d_0 - - rpds-py=0.21.0=py310h505e2c1_0 + - rpds-py=0.22.3=py310h505e2c1_0 - scikit-image=0.24.0=py310h5eaa309_3 - scikit-learn=1.4.2=py310h981052a_1 - - scipy=1.14.1=py310hfcf56fc_1 - - send2trash=1.8.3=pyh0d859eb_0 - - setuptools=75.6.0=pyhff2d567_0 + - scipy=1.14.1=py310hfcf56fc_2 + - send2trash=1.8.3=pyh0d859eb_1 + - setuptools=75.8.0=pyhff2d567_0 - shapely=2.0.2=py310h7dcad9a_0 - sip=6.7.12=py310hc6cd4ac_0 - - six=1.16.0=pyh6c4a22f_0 + - six=1.17.0=pyhd8ed1ab_0 - snappy=1.1.10=hdb0a2a9_1 - - sniffio=1.3.1=pyhd8ed1ab_0 + - sniffio=1.3.1=pyhd8ed1ab_1 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - - sqlite=3.47.0=h9eae976_1 - - stack_data=0.6.2=pyhd8ed1ab_0 + - sqlite=3.47.2=h9eae976_0 + - stack_data=0.6.3=pyhd8ed1ab_1 - svt-av1=2.3.0=h5888daf_0 - tbb=2021.12.0=h84d6215_4 - - tblib=3.0.0=pyhd8ed1ab_0 - - tenacity=9.0.0=pyhd8ed1ab_0 + - tblib=3.0.0=pyhd8ed1ab_1 + - tenacity=9.0.0=pyhd8ed1ab_1 - terminado=0.18.1=pyh0d859eb_0 - threadpoolctl=3.5.0=pyhc1e730c_0 - - tifffile=2024.9.20=pyhd8ed1ab_0 + - tifffile=2024.12.12=pyhd8ed1ab_0 - tiledb=2.16.3=h8c794c1_3 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=noxft_h4845f30_101 - - toml=0.10.2=pyhd8ed1ab_0 - - tomli=2.1.0=pyhff2d567_0 - - toolz=1.0.0=pyhd8ed1ab_0 - - tornado=6.4.1=py310ha75aee5_1 - - tqdm=4.67.0=pyhd8ed1ab_0 - - traitlets=5.14.3=pyhd8ed1ab_0 - - types-python-dateutil=2.9.0.20241003=pyhff2d567_0 - - typing-extensions=4.12.2=hd8ed1ab_0 - - typing_extensions=4.12.2=pyha770c72_0 - - typing_utils=0.1.0=pyhd8ed1ab_0 + - toml=0.10.2=pyhd8ed1ab_1 + - tomli=2.2.1=pyhd8ed1ab_1 + - toolz=1.0.0=pyhd8ed1ab_1 + - tornado=6.4.2=py310ha75aee5_0 + - tqdm=4.67.1=pyhd8ed1ab_1 + - traitlets=5.14.3=pyhd8ed1ab_1 + - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 + - typing-extensions=4.12.2=hd8ed1ab_1 + - typing_extensions=4.12.2=pyha770c72_1 + - typing_utils=0.1.0=pyhd8ed1ab_1 - tzcode=2024b=hb9d3cd8_0 - tzdata=2024b=hc8b5060_0 - - unicodedata2=15.1.0=py310ha75aee5_1 - - uri-template=1.3.0=pyhd8ed1ab_0 + - unicodedata2=16.0.0=py310ha75aee5_0 + - uri-template=1.3.0=pyhd8ed1ab_1 - uriparser=0.9.8=hac33072_0 - - urllib3=2.2.3=pyhd8ed1ab_0 + - urllib3=2.3.0=pyhd8ed1ab_0 - vectormath=0.2.2=py_0 - - wcwidth=0.2.13=pyhd8ed1ab_0 - - webcolors=24.8.0=pyhd8ed1ab_0 - - webencodings=0.5.1=pyhd8ed1ab_2 - - websocket-client=1.8.0=pyhd8ed1ab_0 - - werkzeug=3.1.3=pyhff2d567_0 - - wheel=0.45.0=pyhd8ed1ab_0 + - wcwidth=0.2.13=pyhd8ed1ab_1 + - webcolors=24.11.1=pyhd8ed1ab_0 + - webencodings=0.5.1=pyhd8ed1ab_3 + - websocket-client=1.8.0=pyhd8ed1ab_1 + - werkzeug=3.1.3=pyhd8ed1ab_1 + - wheel=0.45.1=pyhd8ed1ab_1 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - xcb-util=0.4.0=hd590300_1 - xcb-util-image=0.4.0=h8ee46fc_1 @@ -377,10 +380,10 @@ dependencies: - xorg-fixesproto=5.0=hb9d3cd8_1003 - xorg-inputproto=2.3.2=hb9d3cd8_1003 - xorg-kbproto=1.0.7=hb9d3cd8_1003 - - xorg-libice=1.1.1=hb9d3cd8_1 - - xorg-libsm=1.2.4=he73a12e_1 + - xorg-libice=1.1.2=hb9d3cd8_0 + - xorg-libsm=1.2.5=he73a12e_0 - xorg-libx11=1.8.9=h8ee46fc_0 - - xorg-libxau=1.0.11=hb9d3cd8_1 + - xorg-libxau=1.0.12=hb9d3cd8_0 - xorg-libxcomposite=0.4.6=h0b41bf4_1 - xorg-libxdamage=1.1.5=h7f98852_1 - xorg-libxdmcp=1.1.5=hb9d3cd8_0 @@ -397,28 +400,30 @@ dependencies: - xorg-xextproto=7.3.0=hb9d3cd8_1004 - xorg-xf86vidmodeproto=2.3.1=hb9d3cd8_1005 - xorg-xproto=7.0.31=hb9d3cd8_1008 - - xz=5.2.6=h166bdaf_0 + - xz=5.6.3=hbcc6ac9_1 + - xz-gpl-tools=5.6.3=hbcc6ac9_1 + - xz-tools=5.6.3=hb9d3cd8_1 - yaml=0.2.5=h7f98852_2 - zarr=2.14.2=pyhd8ed1ab_0 - zeromq=4.3.5=h3b0a872_7 - zfp=1.0.1=h5888daf_2 - - zict=3.0.0=pyhd8ed1ab_0 - - zipp=3.21.0=pyhd8ed1ab_0 + - zict=3.0.0=pyhd8ed1ab_1 + - zipp=3.21.0=pyhd8ed1ab_1 - zlib=1.3.1=hb9d3cd8_2 - zlib-ng=2.0.7=h0b41bf4_0 - zstandard=0.23.0=py310ha39cb0e_1 - zstd=1.5.6=ha6fb4c9_0 - pip: - - curve-apps == 0.2.0b1 - - geoapps-utils == 0.4.0b1 - - geoh5py == 0.10.0b3 - - mira-simpeg == 0.21.2.1b2 - - octree-creation-app == 0.2.0b1 - - param-sweeps == 0.2.0b1 - - peak-finder-app @ git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + - curve-apps == 0.2.0rc1 + - geoapps-utils == 0.4.0rc1 + - geoh5py == 0.10.0rc1 + - mira-simpeg == 0.21.2.1rc1 + - octree-creation-app == 0.2.0rc1 + - param-sweeps == 0.2.0rc1 + - peak-finder-app == 0.2.0rc1 - simpeg-archive == 0.11.0.1 - - simpeg-drivers @ git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b - - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + - simpeg-drivers == 0.2.0rc1 + - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.10-win-64-dev.conda.lock.yml b/environments/py-3.10-win-64-dev.conda.lock.yml index 601a80d9a..55d239e9d 100644 --- a/environments/py-3.10-win-64-dev.conda.lock.yml +++ b/environments/py-3.10-win-64-dev.conda.lock.yml @@ -1,73 +1,74 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 4ed8d15ff673768ecca71d6ccfaf14d9aff32ab217b10a7a28ac00689dd3ab39 +# input_hash: 156df9b7381b74fbcfc76313d59b442b0dc99ad01a4f4c988a69febbc183d177 channels: - conda-forge - nodefaults dependencies: - - accessible-pygments=0.0.5=pyhd8ed1ab_0 + - accessible-pygments=0.0.5=pyhd8ed1ab_1 - alabaster=0.7.16=pyhd8ed1ab_0 - - annotated-types=0.7.0=pyhd8ed1ab_0 + - annotated-types=0.7.0=pyhd8ed1ab_1 - ansi2html=1.9.2=py310h5588dad_2 - - anyio=4.6.2.post1=pyhd8ed1ab_0 + - anyio=4.8.0=pyhd8ed1ab_0 - aom=3.7.1=h63175ca_0 - - argon2-cffi=23.1.0=pyhd8ed1ab_0 + - argon2-cffi=23.1.0=pyhd8ed1ab_1 - argon2-cffi-bindings=21.2.0=py310ha8f682b_5 - - arrow=1.3.0=pyhd8ed1ab_0 + - arrow=1.3.0=pyhd8ed1ab_1 - asciitree=0.3.3=py_2 - - astroid=3.3.5=py310h5588dad_0 - - asttokens=2.4.1=pyhd8ed1ab_0 - - async-lru=2.0.4=pyhd8ed1ab_0 - - attrs=24.2.0=pyh71513ae_0 - - babel=2.16.0=pyhd8ed1ab_0 - - beautifulsoup4=4.12.3=pyha770c72_0 - - bleach=6.2.0=pyhd8ed1ab_0 + - astroid=3.3.8=py310h5588dad_0 + - asttokens=3.0.0=pyhd8ed1ab_1 + - async-lru=2.0.4=pyhd8ed1ab_1 + - attrs=24.3.0=pyh71513ae_0 + - babel=2.16.0=pyhd8ed1ab_1 + - beautifulsoup4=4.12.3=pyha770c72_1 + - bleach=6.2.0=pyhd8ed1ab_3 + - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.5=hdccc3a2_0 - brotli=1.1.0=h2466b09_2 - brotli-bin=1.1.0=h2466b09_2 - brotli-python=1.1.0=py310h9e98ed7_2 - bzip2=1.0.8=h2466b09_7 - - c-ares=1.34.3=h2466b09_0 + - c-ares=1.34.4=h2466b09_0 - c-blosc2=2.14.3=h183a6f4_0 - - ca-certificates=2024.8.30=h56e8100_0 + - ca-certificates=2024.12.14=h56e8100_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cairo=1.18.0=h1fef639_0 - - certifi=2024.8.30=pyhd8ed1ab_0 + - certifi=2024.12.14=pyhd8ed1ab_0 - cffi=1.17.1=py310ha8f682b_0 - cfitsio=4.2.0=h9ebe7e4_0 - charls=2.4.2=h1537add_0 - - charset-normalizer=3.4.0=pyhd8ed1ab_0 - - click=8.1.7=win_pyh7428d3b_0 - - click-plugins=1.1.1=py_0 - - cligj=0.7.2=pyhd8ed1ab_1 - - cloudpickle=3.1.0=pyhd8ed1ab_1 - - colorama=0.4.6=pyhd8ed1ab_0 - - comm=0.2.2=pyhd8ed1ab_0 + - charset-normalizer=3.4.1=pyhd8ed1ab_0 + - click=8.1.8=pyh7428d3b_0 + - click-plugins=1.1.1=pyhd8ed1ab_1 + - cligj=0.7.2=pyhd8ed1ab_2 + - cloudpickle=3.1.0=pyhd8ed1ab_2 + - colorama=0.4.6=pyhd8ed1ab_1 + - comm=0.2.2=pyhd8ed1ab_1 - contourpy=1.3.1=py310hc19bc0b_0 - - coverage=7.6.7=py310h38315fa_0 - - cpython=3.10.15=py310hd8ed1ab_2 - - cycler=0.12.1=pyhd8ed1ab_0 - - cytoolz=1.0.0=py310ha8f682b_1 + - coverage=7.6.10=py310h38315fa_0 + - cpython=3.10.16=py310hd8ed1ab_1 + - cycler=0.12.1=pyhd8ed1ab_1 + - cytoolz=1.0.1=py310ha8f682b_0 - dash=2.12.1=pyhd8ed1ab_0 - - dash-daq=0.5.0=pyh9f0ad1d_1 + - dash-daq=0.5.0=pyhd8ed1ab_2 - dask-core=2024.6.2=pyhd8ed1ab_0 - dataclasses=0.8=pyhc8e2a94_3 - dav1d=1.2.1=hcfcfb64_0 - - debugpy=1.8.9=py310h9e98ed7_0 - - decorator=5.1.1=pyhd8ed1ab_0 + - debugpy=1.8.11=py310h9e98ed7_0 + - decorator=5.1.1=pyhd8ed1ab_1 - defusedxml=0.7.1=pyhd8ed1ab_0 - - dill=0.3.9=pyhd8ed1ab_0 + - dill=0.3.9=pyhd8ed1ab_1 - discretize=0.10.0=py310h4856b71_1 - distributed=2024.6.2=pyhd8ed1ab_0 - docutils=0.19=py310h5588dad_1 - empymod=2.2.2=pyhd8ed1ab_0 - - entrypoints=0.4=pyhd8ed1ab_0 - - exceptiongroup=1.2.2=pyhd8ed1ab_0 - - executing=2.1.0=pyhd8ed1ab_0 - - fasteners=0.17.3=pyhd8ed1ab_0 + - entrypoints=0.4=pyhd8ed1ab_1 + - exceptiongroup=1.2.2=pyhd8ed1ab_1 + - executing=2.1.0=pyhd8ed1ab_1 + - fasteners=0.19=pyhd8ed1ab_1 - fiona=1.9.3=py310h4a685fe_0 - flask=3.1.0=pyhff2d567_0 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 @@ -77,10 +78,10 @@ dependencies: - fontconfig=2.15.0=h765892d_1 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - - fonttools=4.55.0=py310h38315fa_0 - - fqdn=1.5.1=pyhd8ed1ab_0 + - fonttools=4.55.3=py310h38315fa_1 + - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.12.1=hdaf720e_2 - - freexl=2.0.0=h8276f4a_0 + - freexl=2.0.0=hf297d47_2 - fsspec=2022.11.0=pyhd8ed1ab_0 - gdal=3.6.4=py310haa9213b_22 - geoana=0.5.0=py310h4856b71_4 @@ -91,64 +92,64 @@ dependencies: - giflib=5.2.2=h64bf75a_0 - glib=2.78.1=h12be248_0 - glib-tools=2.78.1=h12be248_0 - - greenlet=3.1.1=py310h9e98ed7_0 + - greenlet=3.1.1=py310h9e98ed7_1 - gst-plugins-base=1.22.7=h001b923_0 - gstreamer=1.22.7=hb4038d2_0 - - h11=0.14.0=pyhd8ed1ab_0 - - h2=4.1.0=pyhd8ed1ab_0 - - h5py=3.12.1=nompi_py310h2b0be38_102 + - h11=0.14.0=pyhd8ed1ab_1 + - h2=4.1.0=pyhd8ed1ab_1 + - h5py=3.12.1=nompi_py310h2b0be38_103 - hdf4=4.2.15=h5557f11_7 - - hdf5=1.14.3=nompi_h2b43c12_105 - - hpack=4.0.0=pyh9f0ad1d_0 + - hdf5=1.14.3=nompi_hd5d9e70_108 + - hpack=4.0.0=pyhd8ed1ab_1 - httpcore=1.0.7=pyh29332c3_1 - - httpx=0.27.2=pyhd8ed1ab_0 - - hyperframe=6.0.1=pyhd8ed1ab_0 + - httpx=0.28.1=pyhd8ed1ab_0 + - hyperframe=6.0.1=pyhd8ed1ab_1 - icu=73.2=h63175ca_0 - - idna=3.10=pyhd8ed1ab_0 + - idna=3.10=pyhd8ed1ab_1 - imagecodecs=2024.1.1=py310h32f22c9_2 - - imageio=2.36.0=pyh12aca89_1 + - imageio=2.36.1=pyh12aca89_1 - imagesize=1.4.1=pyhd8ed1ab_0 - - importlib-metadata=8.5.0=pyha770c72_0 - - importlib_metadata=8.5.0=hd8ed1ab_0 - - importlib_resources=6.4.5=pyhd8ed1ab_0 - - iniconfig=2.0.0=pyhd8ed1ab_0 + - importlib-metadata=8.5.0=pyha770c72_1 + - importlib_metadata=8.5.0=hd8ed1ab_1 + - importlib_resources=6.5.2=pyhd8ed1ab_0 + - iniconfig=2.0.0=pyhd8ed1ab_1 - intel-openmp=2023.2.0=h57928b3_50497 - ipyfilechooser=0.6.0=pyhd8ed1ab_0 - ipykernel=6.29.5=pyh4bbf305_0 - - ipython=8.29.0=pyh7428d3b_0 - - ipython_genutils=0.2.0=pyhd8ed1ab_1 + - ipython=8.31.0=pyh7428d3b_0 + - ipython_genutils=0.2.0=pyhd8ed1ab_2 - ipywidgets=7.8.5=pyhd8ed1ab_0 - - isoduration=20.11.0=pyhd8ed1ab_0 - - isort=5.13.2=pyhd8ed1ab_0 - - itsdangerous=2.2.0=pyhd8ed1ab_0 - - jedi=0.19.2=pyhff2d567_0 - - jinja2=3.1.4=pyhd8ed1ab_0 - - joblib=1.4.2=pyhd8ed1ab_0 - - json5=0.9.28=pyhff2d567_0 + - isoduration=20.11.0=pyhd8ed1ab_1 + - isort=5.13.2=pyhd8ed1ab_1 + - itsdangerous=2.2.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.5=pyhd8ed1ab_0 + - joblib=1.4.2=pyhd8ed1ab_1 + - json5=0.10.0=pyhd8ed1ab_1 - jsonpointer=3.0.0=py310h5588dad_1 - - jsonschema=4.23.0=pyhd8ed1ab_0 - - jsonschema-specifications=2024.10.1=pyhd8ed1ab_0 - - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_0 - - jupyter-book=1.0.3=pyhd8ed1ab_0 + - jsonschema=4.23.0=pyhd8ed1ab_1 + - jsonschema-specifications=2024.10.1=pyhd8ed1ab_1 + - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1 + - jupyter-book=1.0.3=pyhd8ed1ab_1 - jupyter-cache=1.0.1=pyhff2d567_0 - - jupyter-lsp=2.2.5=pyhd8ed1ab_0 - - jupyter_client=8.6.3=pyhd8ed1ab_0 + - jupyter-lsp=2.2.5=pyhd8ed1ab_1 + - jupyter_client=8.6.3=pyhd8ed1ab_1 - jupyter_core=5.7.2=pyh5737063_1 - - jupyter_events=0.10.0=pyhd8ed1ab_0 - - jupyter_server=2.14.2=pyhd8ed1ab_0 - - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0 - - jupyterlab=4.2.6=pyhff2d567_0 - - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1 - - jupyterlab_server=2.27.3=pyhd8ed1ab_0 + - jupyter_events=0.11.0=pyhd8ed1ab_0 + - jupyter_server=2.15.0=pyhd8ed1ab_0 + - jupyter_server_terminals=0.5.3=pyhd8ed1ab_1 + - jupyterlab=4.3.4=pyhd8ed1ab_0 + - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 + - jupyterlab_server=2.27.3=pyhd8ed1ab_1 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 - - jupytext=1.16.4=pyh80e38bb_0 + - jupytext=1.16.6=pyh80e38bb_0 - jxrlib=1.1=hcfcfb64_3 - kealib=1.5.3=h6c43f9b_2 - kiwisolver=1.4.7=py310hc19bc0b_0 - krb5=1.21.3=hdf4eb48_0 - latexcodec=2.0.1=pyh9f0ad1d_0 - - lazy-loader=0.4=pyhd8ed1ab_1 - - lazy_loader=0.4=pyhd8ed1ab_1 + - lazy-loader=0.4=pyhd8ed1ab_2 + - lazy_loader=0.4=pyhd8ed1ab_2 - lcms2=2.16=h67d730c_0 - lerc=4.0.0=h63175ca_0 - libabseil=20230802.1=cxx17_h63175ca_0 @@ -164,9 +165,9 @@ dependencies: - libclang=15.0.7=default_h3a3e6c3_5 - libclang13=15.0.7=default_hf64faad_5 - libcrc32c=1.1.2=h0e60522_0 - - libcurl=8.10.1=h1ee3ff0_0 + - libcurl=8.11.1=h88aaa65_0 - libdeflate=1.19=hcfcfb64_0 - - libdlf=0.3.0=pyhd8ed1ab_0 + - libdlf=0.3.0=pyhd8ed1ab_1 - libexpat=2.6.4=he0c23c2_0 - libffi=3.4.2=h8ffe710_5 - libgdal=3.6.4=h8c6448d_22 @@ -182,28 +183,30 @@ dependencies: - libjpeg-turbo=3.0.0=hcfcfb64_1 - libkml=1.3.0=h538826c_1021 - liblapack=3.9.0=20_win64_mkl + - liblzma=5.6.3=h2466b09_1 + - liblzma-devel=5.6.3=h2466b09_1 - libnetcdf=4.9.2=nompi_h92078aa_114 - libogg=1.3.5=h2466b09_0 - - libpng=1.6.44=h3ca93ac_0 - - libpq=16.6=hab9416b_0 + - libpng=1.6.45=had7236b_0 + - libpq=16.6=h5b74ccd_1 - libprotobuf=4.25.1=hb8276f3_2 - libre2-11=2023.09.01=h8c5ae5e_1 - librttopo=1.1.0=h92c5fdb_14 - libsodium=1.0.20=hc70643c_0 - libspatialite=5.0.1=hbf340bc_29 - - libsqlite=3.47.0=h2466b09_1 - - libssh2=1.11.0=h7dfc565_0 + - libsqlite=3.47.2=h67fdade_0 + - libssh2=1.11.1=he619c9f_0 - libtiff=4.6.0=h6e2ebb7_2 - libvorbis=1.3.7=h0e60522_0 - - libwebp=1.4.0=h2466b09_0 - - libwebp-base=1.4.0=hcfcfb64_0 + - libwebp=1.5.0=h3b0e114_0 + - libwebp-base=1.5.0=h3b0e114_0 - libxcb=1.16=h013a479_1 - - libxml2=2.13.5=h442d1da_0 + - libxml2=2.13.5=he286e8c_1 - libxslt=1.1.39=h3df6e99_0 - libzip=1.11.2=h3135430_0 - libzlib=1.3.1=h2466b09_2 - libzopfli=1.0.3=h0e60522_0 - - linkify-it-py=2.0.3=pyhd8ed1ab_0 + - linkify-it-py=2.0.3=pyhd8ed1ab_1 - llvmlite=0.43.0=py310h0288bfe_1 - locket=1.0.0=pyhd8ed1ab_0 - lz4-c=1.9.4=hcfcfb64_0 @@ -213,87 +216,87 @@ dependencies: - m2w64-gmp=6.1.0=2 - m2w64-libwinpthread-git=5.0.0.4634.697f757=2 - markdown-it-py=2.2.0=pyhd8ed1ab_0 - - markupsafe=3.0.2=py310h38315fa_0 + - markupsafe=3.0.2=py310h38315fa_1 - matplotlib-base=3.8.4=py310hadb10a8_2 - - matplotlib-inline=0.1.7=pyhd8ed1ab_0 - - mccabe=0.7.0=pyhd8ed1ab_0 - - mdit-py-plugins=0.4.2=pyhd8ed1ab_0 - - mdurl=0.1.2=pyhd8ed1ab_0 - - minizip=4.0.6=hb638d1e_0 - - mistune=3.0.2=pyhd8ed1ab_0 + - matplotlib-inline=0.1.7=pyhd8ed1ab_1 + - mccabe=0.7.0=pyhd8ed1ab_1 + - mdit-py-plugins=0.4.2=pyhd8ed1ab_1 + - mdurl=0.1.2=pyhd8ed1ab_1 + - minizip=4.0.7=h9fa1bad_3 + - mistune=3.1.0=pyhd8ed1ab_0 - mkl=2023.2.0=h6a75c08_50497 - msgpack-python=1.1.0=py310hc19bc0b_0 - msys2-conda-epoch=20160418=1 - - munch=4.0.0=pyhd8ed1ab_0 + - munch=4.0.0=pyhd8ed1ab_1 - munkres=1.1.4=pyh9f0ad1d_0 - - myst-nb=1.1.2=pyhd8ed1ab_0 + - myst-nb=1.1.2=pyhd8ed1ab_1 - myst-parser=1.0.0=pyhd8ed1ab_0 - - nbclient=0.10.0=pyhd8ed1ab_0 - - nbconvert-core=7.16.4=pyhd8ed1ab_1 - - nbformat=5.10.4=pyhd8ed1ab_0 - - nest-asyncio=1.6.0=pyhd8ed1ab_0 + - nbclient=0.10.2=pyhd8ed1ab_0 + - nbconvert-core=7.16.5=pyhd8ed1ab_1 + - nbformat=5.10.4=pyhd8ed1ab_1 + - nest-asyncio=1.6.0=pyhd8ed1ab_1 - networkx=3.4.2=pyh267e887_2 - - notebook=7.2.2=pyhd8ed1ab_0 - - notebook-shim=0.2.4=pyhd8ed1ab_0 + - notebook=7.3.2=pyhd8ed1ab_0 + - notebook-shim=0.2.4=pyhd8ed1ab_1 - numba=0.60.0=py310h7793332_0 - numcodecs=0.13.1=py310hb4db72f_0 - numpy=1.26.4=py310hf667824_0 - openjpeg=2.5.2=h3d672ee_0 - - openssl=3.4.0=h2466b09_0 - - overrides=7.7.0=pyhd8ed1ab_0 - - packaging=24.2=pyhff2d567_1 + - openssl=3.4.0=ha4e3fda_1 + - overrides=7.7.0=pyhd8ed1ab_1 + - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py310hb4db72f_1 - pandocfilters=1.5.0=pyhd8ed1ab_0 - - parso=0.8.4=pyhd8ed1ab_0 + - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pcre2=10.40=h17e33f8_0 - - pickleshare=0.7.5=py_1003 + - pickleshare=0.7.5=pyhd8ed1ab_1004 - pillow=10.3.0=py310h3e38d90_1 - - pip=24.3.1=pyh8b19718_0 - - pixman=0.43.4=h63175ca_0 - - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 - - platformdirs=4.3.6=pyhd8ed1ab_0 + - pip=24.3.1=pyh8b19718_2 + - pixman=0.44.2=had0cd8c_0 + - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2 + - platformdirs=4.3.6=pyhd8ed1ab_1 - plotly=5.19.0=pyhd8ed1ab_0 - - pluggy=1.5.0=pyhd8ed1ab_0 - - ply=3.11=pyhd8ed1ab_2 + - pluggy=1.5.0=pyhd8ed1ab_1 + - ply=3.11=pyhd8ed1ab_3 - poppler=23.10.0=hc2f3c52_0 - poppler-data=0.4.12=hd8ed1ab_0 - - postgresql=16.6=hd835ec0_0 + - postgresql=16.6=h5b59834_1 - proj=9.3.0=he13c7e8_2 - - prometheus_client=0.21.0=pyhd8ed1ab_0 - - prompt-toolkit=3.0.48=pyha770c72_0 + - prometheus_client=0.21.1=pyhd8ed1ab_0 + - prompt-toolkit=3.0.48=pyha770c72_1 - properties=0.6.1=py_0 - - psutil=6.1.0=py310ha8f682b_0 + - psutil=6.1.1=py310ha8f682b_0 - pthread-stubs=0.4=hcd874cb_1001 - pthreads-win32=2.9.1=h2466b09_4 - - pure_eval=0.2.3=pyhd8ed1ab_0 - - pybtex=0.24.0=pyhd8ed1ab_2 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pybtex=0.24.0=pyhd8ed1ab_3 - pybtex-docutils=1.0.3=py310h5588dad_2 - - pycparser=2.22=pyhd8ed1ab_0 - - pydantic=2.10.1=pyh10f6f8f_0 - - pydantic-core=2.27.1=py310hc226416_0 + - pycparser=2.22=pyh29332c3_1 + - pydantic=2.10.5=pyh3cfb1c2_0 + - pydantic-core=2.27.2=py310hc226416_0 - pydata-sphinx-theme=0.15.4=pyhd8ed1ab_0 - pydiso=0.1.2=py310h5da8fee_0 - - pygments=2.18.0=pyhd8ed1ab_0 - - pylint=3.3.1=pyhd8ed1ab_0 + - pygments=2.19.1=pyhd8ed1ab_0 + - pylint=3.3.3=pyhd8ed1ab_0 - pymatsolver=0.2.0=ha770c72_3 - pymatsolver-base=0.2.0=pyh44b312d_3 - - pyparsing=3.2.0=pyhd8ed1ab_1 + - pyparsing=3.2.1=pyhd8ed1ab_0 - pyqt=5.15.9=py310h1fd54f2_5 - pyqt5-sip=12.12.2=py310h00ffb61_5 - pyqtwebengine=5.15.9=py310he49db7d_5 - pyside2=5.15.8=py310h1e56762_4 - - pysocks=1.7.1=pyh0701188_6 - - pytest=8.3.3=pyhd8ed1ab_0 - - pytest-cov=6.0.0=pyhd8ed1ab_0 - - python=3.10.15=hfaddaf0_2_cpython - - python-dateutil=2.9.0.post0=pyhff2d567_0 - - python-fastjsonschema=2.20.0=pyhd8ed1ab_0 + - pysocks=1.7.1=pyh09c184e_7 + - pytest=8.3.4=pyhd8ed1ab_1 + - pytest-cov=6.0.0=pyhd8ed1ab_1 + - python=3.10.16=h37870fc_1_cpython + - python-dateutil=2.9.0.post0=pyhff2d567_1 + - python-fastjsonschema=2.21.1=pyhd8ed1ab_0 - python-json-logger=2.0.7=pyhd8ed1ab_0 - python-tzdata=2023.4=pyhd8ed1ab_0 - python_abi=3.10=5_cp310 - pytz=2024.1=pyhd8ed1ab_0 - - pywavelets=1.7.0=py310hb0944cc_2 + - pywavelets=1.8.0=py310hb0944cc_0 - pywin32=307=py310h9e98ed7_3 - pywinpty=2.0.14=py310h9e98ed7_0 - pyyaml=6.0.2=py310ha8f682b_1 @@ -302,114 +305,115 @@ dependencies: - qt-webengine=5.15.8=h4bf5c4e_4 - rav1e=0.6.6=h975169c_2 - re2=2023.09.01=hd3b24a8_1 - - readthedocs-sphinx-ext=2.2.5=pyhd8ed1ab_0 - - referencing=0.35.1=pyhd8ed1ab_0 - - requests=2.32.3=pyhd8ed1ab_0 + - readthedocs-sphinx-ext=2.2.5=pyhd8ed1ab_1 + - referencing=0.35.1=pyhd8ed1ab_1 + - requests=2.32.3=pyhd8ed1ab_1 - retrying=1.3.3=pyhd8ed1ab_3 - - rfc3339-validator=0.1.4=pyhd8ed1ab_0 + - rfc3339-validator=0.1.4=pyhd8ed1ab_1 - rfc3986-validator=0.1.1=pyh9f0ad1d_0 - - rpds-py=0.21.0=py310hc226416_0 + - rpds-py=0.22.3=py310hc226416_0 - scikit-image=0.24.0=py310hb4db72f_3 - scikit-learn=1.4.2=py310hf2a6c47_1 - - scipy=1.14.1=py310hbd0dde3_1 - - semver=3.0.2=pyhd8ed1ab_0 - - send2trash=1.8.3=pyh5737063_0 - - setuptools=75.6.0=pyhff2d567_0 + - scipy=1.14.1=py310hbd0dde3_2 + - semver=3.0.2=pyhd8ed1ab_1 + - send2trash=1.8.3=pyh5737063_1 + - setuptools=75.8.0=pyhff2d567_0 - shapely=2.0.2=py310h839b4a8_0 - sip=6.7.12=py310h00ffb61_0 - - six=1.16.0=pyh6c4a22f_0 + - six=1.17.0=pyhd8ed1ab_0 - snappy=1.1.10=hfb803bf_1 - - sniffio=1.3.1=pyhd8ed1ab_0 + - sniffio=1.3.1=pyhd8ed1ab_1 - snowballstemmer=2.2.0=pyhd8ed1ab_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - sphinx=5.3.0=pyhd8ed1ab_0 - - sphinx-book-theme=1.1.3=pyhd8ed1ab_0 - - sphinx-comments=0.0.3=pyh9f0ad1d_0 - - sphinx-copybutton=0.5.2=pyhd8ed1ab_0 + - sphinx-book-theme=1.1.3=pyhd8ed1ab_1 + - sphinx-comments=0.0.3=pyhd8ed1ab_1 + - sphinx-copybutton=0.5.2=pyhd8ed1ab_1 - sphinx-design=0.6.1=pyhd8ed1ab_0 - - sphinx-external-toc=1.0.1=pyhd8ed1ab_0 - - sphinx-jupyterbook-latex=1.0.0=pyhd8ed1ab_0 - - sphinx-multitoc-numbering=0.1.3=pyhd8ed1ab_0 - - sphinx-thebe=0.3.1=pyhd8ed1ab_0 + - sphinx-external-toc=1.0.1=pyhd8ed1ab_1 + - sphinx-jupyterbook-latex=1.0.0=pyhd8ed1ab_1 + - sphinx-multitoc-numbering=0.1.3=pyhd8ed1ab_1 + - sphinx-thebe=0.3.1=pyhd8ed1ab_1 - sphinx-togglebutton=0.3.2=pyhd8ed1ab_0 - - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_0 + - sphinxcontrib-applehelp=2.0.0=pyhd8ed1ab_1 - sphinxcontrib-bibtex=2.5.0=pyhd8ed1ab_0 - - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_0 - - sphinxcontrib-htmlhelp=2.1.0=pyhd8ed1ab_0 - - sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_0 - - sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_0 - - sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_0 - - sqlalchemy=2.0.36=py310ha8f682b_0 - - sqlite=3.47.0=h2466b09_1 - - stack_data=0.6.2=pyhd8ed1ab_0 + - sphinxcontrib-devhelp=2.0.0=pyhd8ed1ab_1 + - sphinxcontrib-htmlhelp=2.1.0=pyhd8ed1ab_1 + - sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_1 + - sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_1 + - sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_1 + - sqlalchemy=2.0.37=py310ha8f682b_0 + - sqlite=3.47.2=h2466b09_0 + - stack_data=0.6.3=pyhd8ed1ab_1 - svt-av1=1.7.0=h63175ca_0 - - tabulate=0.9.0=pyhd8ed1ab_1 + - tabulate=0.9.0=pyhd8ed1ab_2 - tbb=2021.12.0=hc790b64_4 - - tblib=3.0.0=pyhd8ed1ab_0 - - tenacity=9.0.0=pyhd8ed1ab_0 + - tblib=3.0.0=pyhd8ed1ab_1 + - tenacity=9.0.0=pyhd8ed1ab_1 - terminado=0.18.1=pyh5737063_0 - threadpoolctl=3.5.0=pyhc1e730c_0 - - tifffile=2024.9.20=pyhd8ed1ab_0 + - tifffile=2024.12.12=pyhd8ed1ab_0 - tiledb=2.16.3=hbf04793_3 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h5226925_1 - - toml=0.10.2=pyhd8ed1ab_0 - - tomli=2.1.0=pyhff2d567_0 - - tomlkit=0.13.2=pyha770c72_0 - - toolz=1.0.0=pyhd8ed1ab_0 - - tornado=6.4.1=py310ha8f682b_1 - - tqdm=4.67.0=pyhd8ed1ab_0 - - traitlets=5.14.3=pyhd8ed1ab_0 - - types-python-dateutil=2.9.0.20241003=pyhff2d567_0 - - typing-extensions=4.12.2=hd8ed1ab_0 - - typing_extensions=4.12.2=pyha770c72_0 - - typing_utils=0.1.0=pyhd8ed1ab_0 + - toml=0.10.2=pyhd8ed1ab_1 + - tomli=2.2.1=pyhd8ed1ab_1 + - tomlkit=0.13.2=pyha770c72_1 + - toolz=1.0.0=pyhd8ed1ab_1 + - tornado=6.4.2=py310ha8f682b_0 + - tqdm=4.67.1=pyhd8ed1ab_1 + - traitlets=5.14.3=pyhd8ed1ab_1 + - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 + - typing-extensions=4.12.2=hd8ed1ab_1 + - typing_extensions=4.12.2=pyha770c72_1 + - typing_utils=0.1.0=pyhd8ed1ab_1 - tzdata=2024b=hc8b5060_0 - - uc-micro-py=1.0.3=pyhd8ed1ab_0 + - uc-micro-py=1.0.3=pyhd8ed1ab_1 - ucrt=10.0.22621.0=h57928b3_1 - - unicodedata2=15.1.0=py310ha8f682b_1 - - uri-template=1.3.0=pyhd8ed1ab_0 + - unicodedata2=16.0.0=py310ha8f682b_0 + - uri-template=1.3.0=pyhd8ed1ab_1 - uriparser=0.9.8=h5a68840_0 - - urllib3=2.2.3=pyhd8ed1ab_0 + - urllib3=2.3.0=pyhd8ed1ab_0 - vc=14.3=ha32ba9b_23 - vc14_runtime=14.42.34433=he29a5d6_23 - vectormath=0.2.2=py_0 - vs2015_runtime=14.42.34433=hdffcdeb_23 - - wcwidth=0.2.13=pyhd8ed1ab_0 - - webcolors=24.8.0=pyhd8ed1ab_0 - - webencodings=0.5.1=pyhd8ed1ab_2 - - websocket-client=1.8.0=pyhd8ed1ab_0 - - werkzeug=3.1.3=pyhff2d567_0 - - wheel=0.45.0=pyhd8ed1ab_0 + - wcwidth=0.2.13=pyhd8ed1ab_1 + - webcolors=24.11.1=pyhd8ed1ab_0 + - webencodings=0.5.1=pyhd8ed1ab_3 + - websocket-client=1.8.0=pyhd8ed1ab_1 + - werkzeug=3.1.3=pyhd8ed1ab_1 + - wheel=0.45.1=pyhd8ed1ab_1 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - - win_inet_pton=1.1.0=pyh7428d3b_7 + - win_inet_pton=1.1.0=pyh7428d3b_8 - winpty=0.4.3=4 - xerces-c=3.2.5=he0c23c2_2 - xorg-libxau=1.0.11=hcd874cb_0 - xorg-libxdmcp=1.1.3=hcd874cb_0 - - xz=5.2.6=h8d14728_0 + - xz=5.6.3=h208afaa_1 + - xz-tools=5.6.3=h2466b09_1 - yaml=0.2.5=h8ffe710_2 - zarr=2.14.2=pyhd8ed1ab_0 - zeromq=4.3.5=ha9f60a1_7 - zfp=1.0.1=he0c23c2_2 - - zict=3.0.0=pyhd8ed1ab_0 - - zipp=3.21.0=pyhd8ed1ab_0 + - zict=3.0.0=pyhd8ed1ab_1 + - zipp=3.21.0=pyhd8ed1ab_1 - zlib=1.3.1=h2466b09_2 - zlib-ng=2.0.7=hcfcfb64_0 - zstandard=0.23.0=py310he5e10e1_1 - zstd=1.5.6=h0ea2cb4_0 - pip: - - curve-apps == 0.2.0b1 - - geoapps-utils == 0.4.0b1 - - geoh5py == 0.10.0b3 - - mira-simpeg == 0.21.2.1b2 - - octree-creation-app == 0.2.0b1 - - param-sweeps == 0.2.0b1 - - peak-finder-app @ git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + - curve-apps == 0.2.0rc1 + - geoapps-utils == 0.4.0rc1 + - geoh5py == 0.10.0rc1 + - mira-simpeg == 0.21.2.1rc1 + - octree-creation-app == 0.2.0rc1 + - param-sweeps == 0.2.0rc1 + - peak-finder-app == 0.2.0rc1 - simpeg-archive == 0.11.0.1 - - simpeg-drivers @ git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b - - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + - simpeg-drivers == 0.2.0rc1 + - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e variables: KMP_WARNINGS: 0 diff --git a/environments/py-3.10-win-64.conda.lock.yml b/environments/py-3.10-win-64.conda.lock.yml index 77c05b804..e95307480 100644 --- a/environments/py-3.10-win-64.conda.lock.yml +++ b/environments/py-3.10-win-64.conda.lock.yml @@ -1,66 +1,67 @@ # Generated by conda-lock. # platform: win-64 -# input_hash: 4ed8d15ff673768ecca71d6ccfaf14d9aff32ab217b10a7a28ac00689dd3ab39 +# input_hash: 156df9b7381b74fbcfc76313d59b442b0dc99ad01a4f4c988a69febbc183d177 channels: - conda-forge - nodefaults dependencies: - - annotated-types=0.7.0=pyhd8ed1ab_0 + - annotated-types=0.7.0=pyhd8ed1ab_1 - ansi2html=1.9.2=py310h5588dad_2 - - anyio=4.6.2.post1=pyhd8ed1ab_0 + - anyio=4.8.0=pyhd8ed1ab_0 - aom=3.7.1=h63175ca_0 - - argon2-cffi=23.1.0=pyhd8ed1ab_0 + - argon2-cffi=23.1.0=pyhd8ed1ab_1 - argon2-cffi-bindings=21.2.0=py310ha8f682b_5 - - arrow=1.3.0=pyhd8ed1ab_0 + - arrow=1.3.0=pyhd8ed1ab_1 - asciitree=0.3.3=py_2 - - asttokens=2.4.1=pyhd8ed1ab_0 - - async-lru=2.0.4=pyhd8ed1ab_0 - - attrs=24.2.0=pyh71513ae_0 - - babel=2.16.0=pyhd8ed1ab_0 - - beautifulsoup4=4.12.3=pyha770c72_0 - - bleach=6.2.0=pyhd8ed1ab_0 + - asttokens=3.0.0=pyhd8ed1ab_1 + - async-lru=2.0.4=pyhd8ed1ab_1 + - attrs=24.3.0=pyh71513ae_0 + - babel=2.16.0=pyhd8ed1ab_1 + - beautifulsoup4=4.12.3=pyha770c72_1 + - bleach=6.2.0=pyhd8ed1ab_3 + - bleach-with-css=6.2.0=hd8ed1ab_3 - blinker=1.9.0=pyhff2d567_0 - blosc=1.21.5=hdccc3a2_0 - brotli=1.1.0=h2466b09_2 - brotli-bin=1.1.0=h2466b09_2 - brotli-python=1.1.0=py310h9e98ed7_2 - bzip2=1.0.8=h2466b09_7 - - c-ares=1.34.3=h2466b09_0 + - c-ares=1.34.4=h2466b09_0 - c-blosc2=2.14.3=h183a6f4_0 - - ca-certificates=2024.8.30=h56e8100_0 + - ca-certificates=2024.12.14=h56e8100_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cairo=1.18.0=h1fef639_0 - - certifi=2024.8.30=pyhd8ed1ab_0 + - certifi=2024.12.14=pyhd8ed1ab_0 - cffi=1.17.1=py310ha8f682b_0 - cfitsio=4.2.0=h9ebe7e4_0 - charls=2.4.2=h1537add_0 - - charset-normalizer=3.4.0=pyhd8ed1ab_0 - - click=8.1.7=win_pyh7428d3b_0 - - click-plugins=1.1.1=py_0 - - cligj=0.7.2=pyhd8ed1ab_1 - - cloudpickle=3.1.0=pyhd8ed1ab_1 - - colorama=0.4.6=pyhd8ed1ab_0 - - comm=0.2.2=pyhd8ed1ab_0 + - charset-normalizer=3.4.1=pyhd8ed1ab_0 + - click=8.1.8=pyh7428d3b_0 + - click-plugins=1.1.1=pyhd8ed1ab_1 + - cligj=0.7.2=pyhd8ed1ab_2 + - cloudpickle=3.1.0=pyhd8ed1ab_2 + - colorama=0.4.6=pyhd8ed1ab_1 + - comm=0.2.2=pyhd8ed1ab_1 - contourpy=1.3.1=py310hc19bc0b_0 - - cpython=3.10.15=py310hd8ed1ab_2 - - cycler=0.12.1=pyhd8ed1ab_0 - - cytoolz=1.0.0=py310ha8f682b_1 + - cpython=3.10.16=py310hd8ed1ab_1 + - cycler=0.12.1=pyhd8ed1ab_1 + - cytoolz=1.0.1=py310ha8f682b_0 - dash=2.12.1=pyhd8ed1ab_0 - - dash-daq=0.5.0=pyh9f0ad1d_1 + - dash-daq=0.5.0=pyhd8ed1ab_2 - dask-core=2024.6.2=pyhd8ed1ab_0 - dav1d=1.2.1=hcfcfb64_0 - - debugpy=1.8.9=py310h9e98ed7_0 - - decorator=5.1.1=pyhd8ed1ab_0 + - debugpy=1.8.11=py310h9e98ed7_0 + - decorator=5.1.1=pyhd8ed1ab_1 - defusedxml=0.7.1=pyhd8ed1ab_0 - discretize=0.10.0=py310h4856b71_1 - distributed=2024.6.2=pyhd8ed1ab_0 - empymod=2.2.2=pyhd8ed1ab_0 - - entrypoints=0.4=pyhd8ed1ab_0 - - exceptiongroup=1.2.2=pyhd8ed1ab_0 - - executing=2.1.0=pyhd8ed1ab_0 - - fasteners=0.17.3=pyhd8ed1ab_0 + - entrypoints=0.4=pyhd8ed1ab_1 + - exceptiongroup=1.2.2=pyhd8ed1ab_1 + - executing=2.1.0=pyhd8ed1ab_1 + - fasteners=0.19=pyhd8ed1ab_1 - fiona=1.9.3=py310h4a685fe_0 - flask=3.1.0=pyhff2d567_0 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 @@ -70,10 +71,10 @@ dependencies: - fontconfig=2.15.0=h765892d_1 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - - fonttools=4.55.0=py310h38315fa_0 - - fqdn=1.5.1=pyhd8ed1ab_0 + - fonttools=4.55.3=py310h38315fa_1 + - fqdn=1.5.1=pyhd8ed1ab_1 - freetype=2.12.1=hdaf720e_2 - - freexl=2.0.0=h8276f4a_0 + - freexl=2.0.0=hf297d47_2 - fsspec=2022.11.0=pyhd8ed1ab_0 - gdal=3.6.4=py310haa9213b_22 - geoana=0.5.0=py310h4856b71_4 @@ -86,54 +87,54 @@ dependencies: - glib-tools=2.78.1=h12be248_0 - gst-plugins-base=1.22.7=h001b923_0 - gstreamer=1.22.7=hb4038d2_0 - - h11=0.14.0=pyhd8ed1ab_0 - - h2=4.1.0=pyhd8ed1ab_0 - - h5py=3.12.1=nompi_py310h2b0be38_102 + - h11=0.14.0=pyhd8ed1ab_1 + - h2=4.1.0=pyhd8ed1ab_1 + - h5py=3.12.1=nompi_py310h2b0be38_103 - hdf4=4.2.15=h5557f11_7 - - hdf5=1.14.3=nompi_h2b43c12_105 - - hpack=4.0.0=pyh9f0ad1d_0 + - hdf5=1.14.3=nompi_hd5d9e70_108 + - hpack=4.0.0=pyhd8ed1ab_1 - httpcore=1.0.7=pyh29332c3_1 - - httpx=0.27.2=pyhd8ed1ab_0 - - hyperframe=6.0.1=pyhd8ed1ab_0 + - httpx=0.28.1=pyhd8ed1ab_0 + - hyperframe=6.0.1=pyhd8ed1ab_1 - icu=73.2=h63175ca_0 - - idna=3.10=pyhd8ed1ab_0 + - idna=3.10=pyhd8ed1ab_1 - imagecodecs=2024.1.1=py310h32f22c9_2 - - imageio=2.36.0=pyh12aca89_1 - - importlib-metadata=8.5.0=pyha770c72_0 - - importlib_metadata=8.5.0=hd8ed1ab_0 - - importlib_resources=6.4.5=pyhd8ed1ab_0 + - imageio=2.36.1=pyh12aca89_1 + - importlib-metadata=8.5.0=pyha770c72_1 + - importlib_metadata=8.5.0=hd8ed1ab_1 + - importlib_resources=6.5.2=pyhd8ed1ab_0 - intel-openmp=2023.2.0=h57928b3_50497 - ipyfilechooser=0.6.0=pyhd8ed1ab_0 - ipykernel=6.29.5=pyh4bbf305_0 - - ipython=8.29.0=pyh7428d3b_0 - - ipython_genutils=0.2.0=pyhd8ed1ab_1 + - ipython=8.31.0=pyh7428d3b_0 + - ipython_genutils=0.2.0=pyhd8ed1ab_2 - ipywidgets=7.8.5=pyhd8ed1ab_0 - - isoduration=20.11.0=pyhd8ed1ab_0 - - itsdangerous=2.2.0=pyhd8ed1ab_0 - - jedi=0.19.2=pyhff2d567_0 - - jinja2=3.1.4=pyhd8ed1ab_0 - - joblib=1.4.2=pyhd8ed1ab_0 - - json5=0.9.28=pyhff2d567_0 + - isoduration=20.11.0=pyhd8ed1ab_1 + - itsdangerous=2.2.0=pyhd8ed1ab_1 + - jedi=0.19.2=pyhd8ed1ab_1 + - jinja2=3.1.5=pyhd8ed1ab_0 + - joblib=1.4.2=pyhd8ed1ab_1 + - json5=0.10.0=pyhd8ed1ab_1 - jsonpointer=3.0.0=py310h5588dad_1 - - jsonschema=4.23.0=pyhd8ed1ab_0 - - jsonschema-specifications=2024.10.1=pyhd8ed1ab_0 - - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_0 - - jupyter-lsp=2.2.5=pyhd8ed1ab_0 - - jupyter_client=8.6.3=pyhd8ed1ab_0 + - jsonschema=4.23.0=pyhd8ed1ab_1 + - jsonschema-specifications=2024.10.1=pyhd8ed1ab_1 + - jsonschema-with-format-nongpl=4.23.0=hd8ed1ab_1 + - jupyter-lsp=2.2.5=pyhd8ed1ab_1 + - jupyter_client=8.6.3=pyhd8ed1ab_1 - jupyter_core=5.7.2=pyh5737063_1 - - jupyter_events=0.10.0=pyhd8ed1ab_0 - - jupyter_server=2.14.2=pyhd8ed1ab_0 - - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0 - - jupyterlab=4.2.6=pyhff2d567_0 - - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1 - - jupyterlab_server=2.27.3=pyhd8ed1ab_0 + - jupyter_events=0.11.0=pyhd8ed1ab_0 + - jupyter_server=2.15.0=pyhd8ed1ab_0 + - jupyter_server_terminals=0.5.3=pyhd8ed1ab_1 + - jupyterlab=4.3.4=pyhd8ed1ab_0 + - jupyterlab_pygments=0.3.0=pyhd8ed1ab_2 + - jupyterlab_server=2.27.3=pyhd8ed1ab_1 - jupyterlab_widgets=1.1.11=pyhd8ed1ab_0 - jxrlib=1.1=hcfcfb64_3 - kealib=1.5.3=h6c43f9b_2 - kiwisolver=1.4.7=py310hc19bc0b_0 - krb5=1.21.3=hdf4eb48_0 - - lazy-loader=0.4=pyhd8ed1ab_1 - - lazy_loader=0.4=pyhd8ed1ab_1 + - lazy-loader=0.4=pyhd8ed1ab_2 + - lazy_loader=0.4=pyhd8ed1ab_2 - lcms2=2.16=h67d730c_0 - lerc=4.0.0=h63175ca_0 - libabseil=20230802.1=cxx17_h63175ca_0 @@ -149,9 +150,9 @@ dependencies: - libclang=15.0.7=default_h3a3e6c3_5 - libclang13=15.0.7=default_hf64faad_5 - libcrc32c=1.1.2=h0e60522_0 - - libcurl=8.10.1=h1ee3ff0_0 + - libcurl=8.11.1=h88aaa65_0 - libdeflate=1.19=hcfcfb64_0 - - libdlf=0.3.0=pyhd8ed1ab_0 + - libdlf=0.3.0=pyhd8ed1ab_1 - libexpat=2.6.4=he0c23c2_0 - libffi=3.4.2=h8ffe710_5 - libgdal=3.6.4=h8c6448d_22 @@ -167,23 +168,25 @@ dependencies: - libjpeg-turbo=3.0.0=hcfcfb64_1 - libkml=1.3.0=h538826c_1021 - liblapack=3.9.0=20_win64_mkl + - liblzma=5.6.3=h2466b09_1 + - liblzma-devel=5.6.3=h2466b09_1 - libnetcdf=4.9.2=nompi_h92078aa_114 - libogg=1.3.5=h2466b09_0 - - libpng=1.6.44=h3ca93ac_0 - - libpq=16.6=hab9416b_0 + - libpng=1.6.45=had7236b_0 + - libpq=16.6=h5b74ccd_1 - libprotobuf=4.25.1=hb8276f3_2 - libre2-11=2023.09.01=h8c5ae5e_1 - librttopo=1.1.0=h92c5fdb_14 - libsodium=1.0.20=hc70643c_0 - libspatialite=5.0.1=hbf340bc_29 - - libsqlite=3.47.0=h2466b09_1 - - libssh2=1.11.0=h7dfc565_0 + - libsqlite=3.47.2=h67fdade_0 + - libssh2=1.11.1=he619c9f_0 - libtiff=4.6.0=h6e2ebb7_2 - libvorbis=1.3.7=h0e60522_0 - - libwebp=1.4.0=h2466b09_0 - - libwebp-base=1.4.0=hcfcfb64_0 + - libwebp=1.5.0=h3b0e114_0 + - libwebp-base=1.5.0=h3b0e114_0 - libxcb=1.16=h013a479_1 - - libxml2=2.13.5=h442d1da_0 + - libxml2=2.13.5=he286e8c_1 - libxslt=1.1.39=h3df6e99_0 - libzip=1.11.2=h3135430_0 - libzlib=1.3.1=h2466b09_2 @@ -196,75 +199,75 @@ dependencies: - m2w64-gcc-libs-core=5.3.0=7 - m2w64-gmp=6.1.0=2 - m2w64-libwinpthread-git=5.0.0.4634.697f757=2 - - markupsafe=3.0.2=py310h38315fa_0 + - markupsafe=3.0.2=py310h38315fa_1 - matplotlib-base=3.8.4=py310hadb10a8_2 - - matplotlib-inline=0.1.7=pyhd8ed1ab_0 - - minizip=4.0.6=hb638d1e_0 - - mistune=3.0.2=pyhd8ed1ab_0 + - matplotlib-inline=0.1.7=pyhd8ed1ab_1 + - minizip=4.0.7=h9fa1bad_3 + - mistune=3.1.0=pyhd8ed1ab_0 - mkl=2023.2.0=h6a75c08_50497 - msgpack-python=1.1.0=py310hc19bc0b_0 - msys2-conda-epoch=20160418=1 - - munch=4.0.0=pyhd8ed1ab_0 + - munch=4.0.0=pyhd8ed1ab_1 - munkres=1.1.4=pyh9f0ad1d_0 - - nbclient=0.10.0=pyhd8ed1ab_0 - - nbconvert-core=7.16.4=pyhd8ed1ab_1 - - nbformat=5.10.4=pyhd8ed1ab_0 - - nest-asyncio=1.6.0=pyhd8ed1ab_0 + - nbclient=0.10.2=pyhd8ed1ab_0 + - nbconvert-core=7.16.5=pyhd8ed1ab_1 + - nbformat=5.10.4=pyhd8ed1ab_1 + - nest-asyncio=1.6.0=pyhd8ed1ab_1 - networkx=3.4.2=pyh267e887_2 - - notebook=7.2.2=pyhd8ed1ab_0 - - notebook-shim=0.2.4=pyhd8ed1ab_0 + - notebook=7.3.2=pyhd8ed1ab_0 + - notebook-shim=0.2.4=pyhd8ed1ab_1 - numba=0.60.0=py310h7793332_0 - numcodecs=0.13.1=py310hb4db72f_0 - numpy=1.26.4=py310hf667824_0 - openjpeg=2.5.2=h3d672ee_0 - - openssl=3.4.0=h2466b09_0 - - overrides=7.7.0=pyhd8ed1ab_0 - - packaging=24.2=pyhff2d567_1 + - openssl=3.4.0=ha4e3fda_1 + - overrides=7.7.0=pyhd8ed1ab_1 + - packaging=24.2=pyhd8ed1ab_2 - pandas=2.2.3=py310hb4db72f_1 - pandocfilters=1.5.0=pyhd8ed1ab_0 - - parso=0.8.4=pyhd8ed1ab_0 + - parso=0.8.4=pyhd8ed1ab_1 - partd=1.4.2=pyhd8ed1ab_0 - pcre2=10.40=h17e33f8_0 - - pickleshare=0.7.5=py_1003 + - pickleshare=0.7.5=pyhd8ed1ab_1004 - pillow=10.3.0=py310h3e38d90_1 - - pip=24.3.1=pyh8b19718_0 - - pixman=0.43.4=h63175ca_0 - - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 - - platformdirs=4.3.6=pyhd8ed1ab_0 + - pip=24.3.1=pyh8b19718_2 + - pixman=0.44.2=had0cd8c_0 + - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_2 + - platformdirs=4.3.6=pyhd8ed1ab_1 - plotly=5.19.0=pyhd8ed1ab_0 - - ply=3.11=pyhd8ed1ab_2 + - ply=3.11=pyhd8ed1ab_3 - poppler=23.10.0=hc2f3c52_0 - poppler-data=0.4.12=hd8ed1ab_0 - - postgresql=16.6=hd835ec0_0 + - postgresql=16.6=h5b59834_1 - proj=9.3.0=he13c7e8_2 - - prometheus_client=0.21.0=pyhd8ed1ab_0 - - prompt-toolkit=3.0.48=pyha770c72_0 + - prometheus_client=0.21.1=pyhd8ed1ab_0 + - prompt-toolkit=3.0.48=pyha770c72_1 - properties=0.6.1=py_0 - - psutil=6.1.0=py310ha8f682b_0 + - psutil=6.1.1=py310ha8f682b_0 - pthread-stubs=0.4=hcd874cb_1001 - pthreads-win32=2.9.1=h2466b09_4 - - pure_eval=0.2.3=pyhd8ed1ab_0 - - pycparser=2.22=pyhd8ed1ab_0 - - pydantic=2.10.1=pyh10f6f8f_0 - - pydantic-core=2.27.1=py310hc226416_0 + - pure_eval=0.2.3=pyhd8ed1ab_1 + - pycparser=2.22=pyh29332c3_1 + - pydantic=2.10.5=pyh3cfb1c2_0 + - pydantic-core=2.27.2=py310hc226416_0 - pydiso=0.1.2=py310h5da8fee_0 - - pygments=2.18.0=pyhd8ed1ab_0 + - pygments=2.19.1=pyhd8ed1ab_0 - pymatsolver=0.2.0=ha770c72_3 - pymatsolver-base=0.2.0=pyh44b312d_3 - - pyparsing=3.2.0=pyhd8ed1ab_1 + - pyparsing=3.2.1=pyhd8ed1ab_0 - pyqt=5.15.9=py310h1fd54f2_5 - pyqt5-sip=12.12.2=py310h00ffb61_5 - pyqtwebengine=5.15.9=py310he49db7d_5 - pyside2=5.15.8=py310h1e56762_4 - - pysocks=1.7.1=pyh0701188_6 - - python=3.10.15=hfaddaf0_2_cpython - - python-dateutil=2.9.0.post0=pyhff2d567_0 - - python-fastjsonschema=2.20.0=pyhd8ed1ab_0 + - pysocks=1.7.1=pyh09c184e_7 + - python=3.10.16=h37870fc_1_cpython + - python-dateutil=2.9.0.post0=pyhff2d567_1 + - python-fastjsonschema=2.21.1=pyhd8ed1ab_0 - python-json-logger=2.0.7=pyhd8ed1ab_0 - python-tzdata=2023.4=pyhd8ed1ab_0 - python_abi=3.10=5_cp310 - pytz=2024.1=pyhd8ed1ab_0 - - pywavelets=1.7.0=py310hb0944cc_2 + - pywavelets=1.8.0=py310hb0944cc_0 - pywin32=307=py310h9e98ed7_3 - pywinpty=2.0.14=py310h9e98ed7_0 - pyyaml=6.0.2=py310ha8f682b_1 @@ -273,90 +276,91 @@ dependencies: - qt-webengine=5.15.8=h4bf5c4e_4 - rav1e=0.6.6=h975169c_2 - re2=2023.09.01=hd3b24a8_1 - - referencing=0.35.1=pyhd8ed1ab_0 - - requests=2.32.3=pyhd8ed1ab_0 + - referencing=0.35.1=pyhd8ed1ab_1 + - requests=2.32.3=pyhd8ed1ab_1 - retrying=1.3.3=pyhd8ed1ab_3 - - rfc3339-validator=0.1.4=pyhd8ed1ab_0 + - rfc3339-validator=0.1.4=pyhd8ed1ab_1 - rfc3986-validator=0.1.1=pyh9f0ad1d_0 - - rpds-py=0.21.0=py310hc226416_0 + - rpds-py=0.22.3=py310hc226416_0 - scikit-image=0.24.0=py310hb4db72f_3 - scikit-learn=1.4.2=py310hf2a6c47_1 - - scipy=1.14.1=py310hbd0dde3_1 - - send2trash=1.8.3=pyh5737063_0 - - setuptools=75.6.0=pyhff2d567_0 + - scipy=1.14.1=py310hbd0dde3_2 + - send2trash=1.8.3=pyh5737063_1 + - setuptools=75.8.0=pyhff2d567_0 - shapely=2.0.2=py310h839b4a8_0 - sip=6.7.12=py310h00ffb61_0 - - six=1.16.0=pyh6c4a22f_0 + - six=1.17.0=pyhd8ed1ab_0 - snappy=1.1.10=hfb803bf_1 - - sniffio=1.3.1=pyhd8ed1ab_0 + - sniffio=1.3.1=pyhd8ed1ab_1 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.5=pyhd8ed1ab_1 - - sqlite=3.47.0=h2466b09_1 - - stack_data=0.6.2=pyhd8ed1ab_0 + - sqlite=3.47.2=h2466b09_0 + - stack_data=0.6.3=pyhd8ed1ab_1 - svt-av1=1.7.0=h63175ca_0 - tbb=2021.12.0=hc790b64_4 - - tblib=3.0.0=pyhd8ed1ab_0 - - tenacity=9.0.0=pyhd8ed1ab_0 + - tblib=3.0.0=pyhd8ed1ab_1 + - tenacity=9.0.0=pyhd8ed1ab_1 - terminado=0.18.1=pyh5737063_0 - threadpoolctl=3.5.0=pyhc1e730c_0 - - tifffile=2024.9.20=pyhd8ed1ab_0 + - tifffile=2024.12.12=pyhd8ed1ab_0 - tiledb=2.16.3=hbf04793_3 - tinycss2=1.4.0=pyhd8ed1ab_0 - tk=8.6.13=h5226925_1 - - toml=0.10.2=pyhd8ed1ab_0 - - tomli=2.1.0=pyhff2d567_0 - - toolz=1.0.0=pyhd8ed1ab_0 - - tornado=6.4.1=py310ha8f682b_1 - - tqdm=4.67.0=pyhd8ed1ab_0 - - traitlets=5.14.3=pyhd8ed1ab_0 - - types-python-dateutil=2.9.0.20241003=pyhff2d567_0 - - typing-extensions=4.12.2=hd8ed1ab_0 - - typing_extensions=4.12.2=pyha770c72_0 - - typing_utils=0.1.0=pyhd8ed1ab_0 + - toml=0.10.2=pyhd8ed1ab_1 + - tomli=2.2.1=pyhd8ed1ab_1 + - toolz=1.0.0=pyhd8ed1ab_1 + - tornado=6.4.2=py310ha8f682b_0 + - tqdm=4.67.1=pyhd8ed1ab_1 + - traitlets=5.14.3=pyhd8ed1ab_1 + - types-python-dateutil=2.9.0.20241206=pyhd8ed1ab_0 + - typing-extensions=4.12.2=hd8ed1ab_1 + - typing_extensions=4.12.2=pyha770c72_1 + - typing_utils=0.1.0=pyhd8ed1ab_1 - tzdata=2024b=hc8b5060_0 - ucrt=10.0.22621.0=h57928b3_1 - - unicodedata2=15.1.0=py310ha8f682b_1 - - uri-template=1.3.0=pyhd8ed1ab_0 + - unicodedata2=16.0.0=py310ha8f682b_0 + - uri-template=1.3.0=pyhd8ed1ab_1 - uriparser=0.9.8=h5a68840_0 - - urllib3=2.2.3=pyhd8ed1ab_0 + - urllib3=2.3.0=pyhd8ed1ab_0 - vc=14.3=ha32ba9b_23 - vc14_runtime=14.42.34433=he29a5d6_23 - vectormath=0.2.2=py_0 - vs2015_runtime=14.42.34433=hdffcdeb_23 - - wcwidth=0.2.13=pyhd8ed1ab_0 - - webcolors=24.8.0=pyhd8ed1ab_0 - - webencodings=0.5.1=pyhd8ed1ab_2 - - websocket-client=1.8.0=pyhd8ed1ab_0 - - werkzeug=3.1.3=pyhff2d567_0 - - wheel=0.45.0=pyhd8ed1ab_0 + - wcwidth=0.2.13=pyhd8ed1ab_1 + - webcolors=24.11.1=pyhd8ed1ab_0 + - webencodings=0.5.1=pyhd8ed1ab_3 + - websocket-client=1.8.0=pyhd8ed1ab_1 + - werkzeug=3.1.3=pyhd8ed1ab_1 + - wheel=0.45.1=pyhd8ed1ab_1 - widgetsnbextension=3.6.10=pyhd8ed1ab_0 - - win_inet_pton=1.1.0=pyh7428d3b_7 + - win_inet_pton=1.1.0=pyh7428d3b_8 - winpty=0.4.3=4 - xerces-c=3.2.5=he0c23c2_2 - xorg-libxau=1.0.11=hcd874cb_0 - xorg-libxdmcp=1.1.3=hcd874cb_0 - - xz=5.2.6=h8d14728_0 + - xz=5.6.3=h208afaa_1 + - xz-tools=5.6.3=h2466b09_1 - yaml=0.2.5=h8ffe710_2 - zarr=2.14.2=pyhd8ed1ab_0 - zeromq=4.3.5=ha9f60a1_7 - zfp=1.0.1=he0c23c2_2 - - zict=3.0.0=pyhd8ed1ab_0 - - zipp=3.21.0=pyhd8ed1ab_0 + - zict=3.0.0=pyhd8ed1ab_1 + - zipp=3.21.0=pyhd8ed1ab_1 - zlib=1.3.1=h2466b09_2 - zlib-ng=2.0.7=hcfcfb64_0 - zstandard=0.23.0=py310he5e10e1_1 - zstd=1.5.6=h0ea2cb4_0 - pip: - - curve-apps == 0.2.0b1 - - geoapps-utils == 0.4.0b1 - - geoh5py == 0.10.0b3 - - mira-simpeg == 0.21.2.1b2 - - octree-creation-app == 0.2.0b1 - - param-sweeps == 0.2.0b1 - - peak-finder-app @ git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + - curve-apps == 0.2.0rc1 + - geoapps-utils == 0.4.0rc1 + - geoh5py == 0.10.0rc1 + - mira-simpeg == 0.21.2.1rc1 + - octree-creation-app == 0.2.0rc1 + - param-sweeps == 0.2.0rc1 + - peak-finder-app == 0.2.0rc1 - simpeg-archive == 0.11.0.1 - - simpeg-drivers @ git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b - - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + - simpeg-drivers == 0.2.0rc1 + - surface-apps @ git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e variables: KMP_WARNINGS: 0 diff --git a/py-3.10.conda-lock.yml b/py-3.10.conda-lock.yml index 9241bc8fd..a27a97156 100644 --- a/py-3.10.conda-lock.yml +++ b/py-3.10.conda-lock.yml @@ -15,8 +15,8 @@ version: 1 metadata: content_hash: - win-64: 4ed8d15ff673768ecca71d6ccfaf14d9aff32ab217b10a7a28ac00689dd3ab39 - linux-64: 6fe6c850e02891721353896e7f18fe28b59eba6ad2eed718e9c159c87fe0418a + win-64: 156df9b7381b74fbcfc76313d59b442b0dc99ad01a4f4c988a69febbc183d177 + linux-64: 566b52441c481328d4e425a9b68c231d6600edabf4671b0e10b13e58661baf73 channels: - url: conda-forge used_env_vars: [] @@ -60,10 +60,10 @@ package: dependencies: pygments: '' python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda hash: - md5: 1bb1ef9806a9a20872434f58b3e7fc1a - sha256: 712c1875bcd32674e8ce2f418f0b2875ecb98e6bcbb21ec7502dae8ff4b0f73c + md5: 74ac5069774cdbc53910ec4d631a3999 + sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 category: dev optional: true - name: accessible-pygments @@ -73,10 +73,10 @@ package: dependencies: pygments: '' python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.5-pyhd8ed1ab_1.conda hash: - md5: 1bb1ef9806a9a20872434f58b3e7fc1a - sha256: 712c1875bcd32674e8ce2f418f0b2875ecb98e6bcbb21ec7502dae8ff4b0f73c + md5: 74ac5069774cdbc53910ec4d631a3999 + sha256: 1307719f0d8ee694fc923579a39c0621c23fdaa14ccdf9278a5aac5665ac58e9 category: dev optional: true - name: alabaster @@ -121,12 +121,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' + python: '>=3.9' typing-extensions: '>=4.0.0' - url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda hash: - md5: 7e9f4612544c8edbfd6afad17f1bd045 - sha256: 668f0825b6c18e4012ca24a0070562b6ec801ebc7008228a428eb52b4038873f + md5: 2934f256a8acfe48f6ebb4fce6cde29c + sha256: e0ea1ba78fbb64f17062601edda82097fcf815012cf52bb704150a2668110d48 category: main optional: false - name: annotated-types @@ -134,12 +134,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' + python: '>=3.9' typing-extensions: '>=4.0.0' - url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda hash: - md5: 7e9f4612544c8edbfd6afad17f1bd045 - sha256: 668f0825b6c18e4012ca24a0070562b6ec801ebc7008228a428eb52b4038873f + md5: 2934f256a8acfe48f6ebb4fce6cde29c + sha256: e0ea1ba78fbb64f17062601edda82097fcf815012cf52bb704150a2668110d48 category: main optional: false - name: ansi2html @@ -173,7 +173,7 @@ package: category: main optional: false - name: anyio - version: 4.6.2.post1 + version: 4.8.0 manager: conda platform: linux-64 dependencies: @@ -181,15 +181,15 @@ package: idna: '>=2.8' python: '>=3.9' sniffio: '>=1.1' - typing_extensions: '>=4.1' - url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + typing_extensions: '>=4.5' + url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.8.0-pyhd8ed1ab_0.conda hash: - md5: 688697ec5e9588bdded167d19577625b - sha256: 4b54b7ce79d818e3cce54ae4d552dba51b7afac160ceecdefd04b3917a37c502 + md5: 848d25bfbadf020ee4d4ba90e5668252 + sha256: f1455d2953e3eb6d71bc49881c8558d8e01888469dfd21061dd48afb6183e836 category: main optional: false - name: anyio - version: 4.6.2.post1 + version: 4.8.0 manager: conda platform: win-64 dependencies: @@ -197,11 +197,11 @@ package: idna: '>=2.8' python: '>=3.9' sniffio: '>=1.1' - typing_extensions: '>=4.1' - url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.6.2.post1-pyhd8ed1ab_0.conda + typing_extensions: '>=4.5' + url: https://conda.anaconda.org/conda-forge/noarch/anyio-4.8.0-pyhd8ed1ab_0.conda hash: - md5: 688697ec5e9588bdded167d19577625b - sha256: 4b54b7ce79d818e3cce54ae4d552dba51b7afac160ceecdefd04b3917a37c502 + md5: 848d25bfbadf020ee4d4ba90e5668252 + sha256: f1455d2953e3eb6d71bc49881c8558d8e01888469dfd21061dd48afb6183e836 category: main optional: false - name: aom @@ -237,12 +237,12 @@ package: platform: linux-64 dependencies: argon2-cffi-bindings: '' - python: '>=3.7' + python: '>=3.9' typing-extensions: '' - url: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_1.conda hash: - md5: 3afef1f55a1366b4d3b6a0d92e2235e4 - sha256: 130766446f5507bd44df957b6b5c898a8bd98f024bb426ed6cb9ff1ad67fc677 + md5: a7ee488b71c30ada51c48468337b85ba + sha256: 7af62339394986bc470a7a231c7f37ad0173ffb41f6bc0e8e31b0be9e3b9d20f category: main optional: false - name: argon2-cffi @@ -251,12 +251,12 @@ package: platform: win-64 dependencies: argon2-cffi-bindings: '' - python: '>=3.7' + python: '>=3.9' typing-extensions: '' - url: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_1.conda hash: - md5: 3afef1f55a1366b4d3b6a0d92e2235e4 - sha256: 130766446f5507bd44df957b6b5c898a8bd98f024bb426ed6cb9ff1ad67fc677 + md5: a7ee488b71c30ada51c48468337b85ba + sha256: 7af62339394986bc470a7a231c7f37ad0173ffb41f6bc0e8e31b0be9e3b9d20f category: main optional: false - name: argon2-cffi-bindings @@ -297,13 +297,13 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' python-dateutil: '>=2.7.0' types-python-dateutil: '>=2.8.10' - url: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_1.conda hash: - md5: b77d8c2313158e6e461ca0efb1c2c508 - sha256: ff49825c7f9e29e09afa6284300810e7a8640d621740efb47c4541f4dc4969db + md5: 46b53236fdd990271b03c3978d4218a9 + sha256: c4b0bdb3d5dee50b60db92f99da3e4c524d5240aafc0a5fcc15e45ae2d1a3cd1 category: main optional: false - name: arrow @@ -311,13 +311,13 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' python-dateutil: '>=2.7.0' types-python-dateutil: '>=2.8.10' - url: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_1.conda hash: - md5: b77d8c2313158e6e461ca0efb1c2c508 - sha256: ff49825c7f9e29e09afa6284300810e7a8640d621740efb47c4541f4dc4969db + md5: 46b53236fdd990271b03c3978d4218a9 + sha256: c4b0bdb3d5dee50b60db92f99da3e4c524d5240aafc0a5fcc15e45ae2d1a3cd1 category: main optional: false - name: asciitree @@ -345,57 +345,55 @@ package: category: main optional: false - name: astroid - version: 3.3.5 + version: 3.3.8 manager: conda platform: linux-64 dependencies: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - typing-extensions: '>=4.0.0' - url: https://conda.anaconda.org/conda-forge/linux-64/astroid-3.3.5-py310hff52083_0.conda + typing_extensions: '>=4.0.0' + url: https://conda.anaconda.org/conda-forge/linux-64/astroid-3.3.8-py310hff52083_0.conda hash: - md5: 508547850afc4097e6f06b57ddf83ea7 - sha256: be695a9127d3fe35240938c81dca83e047bf1207b5d25489c607c988ee0c4e86 + md5: 9afaff1d0f354d98cff43bc80666c428 + sha256: 02c0e9c683002c05958b21427c51e7d0c6b9c212b518a04793ed62d0c7bc31f9 category: dev optional: true - name: astroid - version: 3.3.5 + version: 3.3.8 manager: conda platform: win-64 dependencies: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - typing-extensions: '>=4.0.0' - url: https://conda.anaconda.org/conda-forge/win-64/astroid-3.3.5-py310h5588dad_0.conda + typing_extensions: '>=4.0.0' + url: https://conda.anaconda.org/conda-forge/win-64/astroid-3.3.8-py310h5588dad_0.conda hash: - md5: 3b40a8dc0988fa8a8056b4c031227ae1 - sha256: 533645c16342720fbfab9783020a7e73c280b0cd2ef9e307547d1dfee78e9e6b + md5: c54bfa9d47e3a08b15ea6d364890a352 + sha256: 7efa33c85f77a7c9fdc1b1e0a0352503d3c1b59f3539ee7188d00d4ed427e25d category: dev optional: true - name: asttokens - version: 2.4.1 + version: 3.0.0 manager: conda platform: linux-64 dependencies: - python: '>=3.5' - six: '>=1.12.0' - url: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda hash: - md5: 5f25798dcefd8252ce5f9dc494d5f571 - sha256: 708168f026df19a0344983754d27d1f7b28bb21afc7b97a82f02c4798a3d2111 + md5: 8f587de4bcf981e26228f268df374a9b + sha256: 93b14414b3b3ed91e286e1cbe4e7a60c4e1b1c730b0814d1e452a8ac4b9af593 category: main optional: false - name: asttokens - version: 2.4.1 + version: 3.0.0 manager: conda platform: win-64 dependencies: - python: '>=3.5' - six: '>=1.12.0' - url: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.0-pyhd8ed1ab_1.conda hash: - md5: 5f25798dcefd8252ce5f9dc494d5f571 - sha256: 708168f026df19a0344983754d27d1f7b28bb21afc7b97a82f02c4798a3d2111 + md5: 8f587de4bcf981e26228f268df374a9b + sha256: 93b14414b3b3ed91e286e1cbe4e7a60c4e1b1c730b0814d1e452a8ac4b9af593 category: main optional: false - name: async-lru @@ -403,12 +401,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' typing_extensions: '>=4.0.0' - url: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_1.conda hash: - md5: 3d081de3a6ea9f894bbb585e8e3a4dcb - sha256: 7ed83731979fe5b046c157730e50af0e24454468bbba1ed8fc1a3107db5d7518 + md5: 40c673c7d585623b8f1ee650c8734eb6 + sha256: 344157f396dfdc929d1dff8fe010abe173cd168d22a56648583e616495f2929e category: main optional: false - name: async-lru @@ -416,12 +414,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' typing_extensions: '>=4.0.0' - url: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_1.conda hash: - md5: 3d081de3a6ea9f894bbb585e8e3a4dcb - sha256: 7ed83731979fe5b046c157730e50af0e24454468bbba1ed8fc1a3107db5d7518 + md5: 40c673c7d585623b8f1ee650c8734eb6 + sha256: 344157f396dfdc929d1dff8fe010abe173cd168d22a56648583e616495f2929e category: main optional: false - name: attr @@ -437,27 +435,27 @@ package: category: main optional: false - name: attrs - version: 24.2.0 + version: 24.3.0 manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.3.0-pyh71513ae_0.conda hash: - md5: 6732fa52eb8e66e5afeb32db8701a791 - sha256: 28dba85a7e0f7fb57d7315e13f603d1e41b83c5b88aa2a602596b52c833a2ff8 + md5: 356927ace43302bf6f5926e2a58dae6a + sha256: 750186af694a7130eaf7119fbb56db0d2326d8995ad5b8eae23c622b85fea29a category: main optional: false - name: attrs - version: 24.2.0 + version: 24.3.0 manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.2.0-pyh71513ae_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/attrs-24.3.0-pyh71513ae_0.conda hash: - md5: 6732fa52eb8e66e5afeb32db8701a791 - sha256: 28dba85a7e0f7fb57d7315e13f603d1e41b83c5b88aa2a602596b52c833a2ff8 + md5: 356927ace43302bf6f5926e2a58dae6a + sha256: 750186af694a7130eaf7119fbb56db0d2326d8995ad5b8eae23c622b85fea29a category: main optional: false - name: babel @@ -465,12 +463,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' pytz: '>=2015.7' - url: https://conda.anaconda.org/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda hash: - md5: 6d4e9ecca8d88977147e109fc7053184 - sha256: fce1d78e42665bb26d3f2b45ce9cacf0d9dbe4c1b2db3879a384eadee53c6231 + md5: 3e23f7db93ec14c80525257d8affac28 + sha256: f6205d3a62e87447e06e98d911559be0208d824976d77ab092796c9176611fcb category: main optional: false - name: babel @@ -478,12 +476,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' pytz: '>=2015.7' - url: https://conda.anaconda.org/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/babel-2.16.0-pyhd8ed1ab_1.conda hash: - md5: 6d4e9ecca8d88977147e109fc7053184 - sha256: fce1d78e42665bb26d3f2b45ce9cacf0d9dbe4c1b2db3879a384eadee53c6231 + md5: 3e23f7db93ec14c80525257d8affac28 + sha256: f6205d3a62e87447e06e98d911559be0208d824976d77ab092796c9176611fcb category: main optional: false - name: beautifulsoup4 @@ -491,12 +489,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' + python: '>=3.9' soupsieve: '>=1.2' - url: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_1.conda hash: - md5: 332493000404d8411859539a5a630865 - sha256: 7b05b2d0669029326c623b9df7a29fa49d1982a9e7e31b2fea34b4c9a4a72317 + md5: d48f7e9fdec44baf6d1da416fe402b04 + sha256: fca842ab7be052eea1037ebee17ac25cc79c626382dd2187b5c6e007b9d9f65f category: main optional: false - name: beautifulsoup4 @@ -504,12 +502,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' + python: '>=3.9' soupsieve: '>=1.2' - url: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_1.conda hash: - md5: 332493000404d8411859539a5a630865 - sha256: 7b05b2d0669029326c623b9df7a29fa49d1982a9e7e31b2fea34b4c9a4a72317 + md5: d48f7e9fdec44baf6d1da416fe402b04 + sha256: fca842ab7be052eea1037ebee17ac25cc79c626382dd2187b5c6e007b9d9f65f category: main optional: false - name: bleach @@ -519,10 +517,10 @@ package: dependencies: python: '>=3.9' webencodings: '' - url: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_3.conda hash: - md5: 461bcfab8e65c166e297222ae919a2d4 - sha256: 01be7fb5163e7c31356a18c259ddc19a5431b8b974dc65e2427b88c2d30034f3 + md5: b33551d9bac06d754762e8ccb3c4df03 + sha256: 9278622f54b6b4bce5d73663b282a8ab35d1b331d6ff92f4112906a526039827 category: main optional: false - name: bleach @@ -532,10 +530,36 @@ package: dependencies: python: '>=3.9' webencodings: '' - url: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/bleach-6.2.0-pyhd8ed1ab_3.conda + hash: + md5: b33551d9bac06d754762e8ccb3c4df03 + sha256: 9278622f54b6b4bce5d73663b282a8ab35d1b331d6ff92f4112906a526039827 + category: main + optional: false +- name: bleach-with-css + version: 6.2.0 + manager: conda + platform: linux-64 + dependencies: + bleach: 6.2.0 + tinycss2: '' + url: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.2.0-hd8ed1ab_3.conda + hash: + md5: e250a492fc70bf604737328dbe02846c + sha256: 8161cf35253f7646a1fd39f90abbcc6cb69248b8fdff61cfffce4cc8448f8c02 + category: main + optional: false +- name: bleach-with-css + version: 6.2.0 + manager: conda + platform: win-64 + dependencies: + bleach: 6.2.0 + tinycss2: '' + url: https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.2.0-hd8ed1ab_3.conda hash: - md5: 461bcfab8e65c166e297222ae919a2d4 - sha256: 01be7fb5163e7c31356a18c259ddc19a5431b8b974dc65e2427b88c2d30034f3 + md5: e250a492fc70bf604737328dbe02846c + sha256: 8161cf35253f7646a1fd39f90abbcc6cb69248b8fdff61cfffce4cc8448f8c02 category: main optional: false - name: blinker @@ -735,30 +759,30 @@ package: category: main optional: false - name: c-ares - version: 1.32.3 + version: 1.34.4 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - libgcc-ng: '>=12' - url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.32.3-h4bc722e_0.conda + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.4-hb9d3cd8_0.conda hash: - md5: 7624e34ee6baebfc80d67bac76cc9d9d - sha256: 3c5a844bb60b0d52d89c3f1bd828c9856417fe33a6102fd8bbd5c13c3351704a + md5: e2775acf57efd5af15b8e3d1d74d72d3 + sha256: d4f28d87b6339b94f74762c0076e29c8ef8ddfff51a564a92da2843573c18320 category: main optional: false - name: c-ares - version: 1.34.3 + version: 1.34.4 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.3-h2466b09_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/c-ares-1.34.4-h2466b09_0.conda hash: - md5: 7dd8f0c4af6a36df3b402fa12e19854c - sha256: 1ddad30ee6de501a65b2431427800cb79fdb34a1650f291bb477a6c1c78fc1f1 + md5: d387e6f147273d548f068f49a4291aef + sha256: f364f7de63a7c35a62c8d90383dd7747b46fa6b9c35c16c99154a8c45685c86b category: main optional: false - name: c-blosc2 @@ -795,25 +819,25 @@ package: category: main optional: false - name: ca-certificates - version: 2024.8.30 + version: 2024.12.14 manager: conda platform: linux-64 dependencies: {} - url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.12.14-hbcca054_0.conda hash: - md5: c27d1c142233b5bc9ca570c6e2e0c244 - sha256: afee721baa6d988e27fef1832f68d6f32ac8cc99cdf6015732224c2841a09cea + md5: 720523eb0d6a9b0f6120c16b2aa4e7de + sha256: 1afd7274cbc9a334d6d0bc62fa760acc7afdaceb0b91a8df370ec01fd75dc7dd category: main optional: false - name: ca-certificates - version: 2024.8.30 + version: 2024.12.14 manager: conda platform: win-64 dependencies: {} - url: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.8.30-h56e8100_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2024.12.14-h56e8100_0.conda hash: - md5: 4c4fd67c18619be5aa65dc5b6c72e490 - sha256: 0fcac3a7ffcc556649e034a1802aedf795e64227eaa7194d207b01eaf26454c4 + md5: cb2eaeb88549ddb27af533eccf9a45c1 + sha256: 424d82db36cd26234bc4772426170efd60e888c2aed0099a257a95e131683a5e category: main optional: false - name: cached-property @@ -916,27 +940,27 @@ package: category: main optional: false - name: certifi - version: 2024.8.30 + version: 2024.12.14 manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda hash: - md5: 12f7d00853807b0531775e9be891cb11 - sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f + md5: 6feb87357ecd66733be3279f16a8c400 + sha256: 048c16a9cbcb1fbad02083414d3bc7c1d0eea4b39aee6aa6bf8d1d5089ca8bad category: main optional: false - name: certifi - version: 2024.8.30 + version: 2024.12.14 manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.8.30-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.12.14-pyhd8ed1ab_0.conda hash: - md5: 12f7d00853807b0531775e9be891cb11 - sha256: 7020770df338c45ac6b560185956c32f0a5abf4b76179c037f115fc7d687819f + md5: 6feb87357ecd66733be3279f16a8c400 + sha256: 048c16a9cbcb1fbad02083414d3bc7c1d0eea4b39aee6aa6bf8d1d5089ca8bad category: main optional: false - name: cffi @@ -1034,54 +1058,54 @@ package: category: main optional: false - name: charset-normalizer - version: 3.4.0 + version: 3.4.1 manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda hash: - md5: a374efa97290b8799046df7c5ca17164 - sha256: 1873ac45ea61f95750cb0b4e5e675d1c5b3def937e80c7eebb19297f76810be8 + md5: e83a31202d1c0a000fce3e9cf3825875 + sha256: 4e0ee91b97e5de3e74567bdacea27f0139709fceca4db8adffbe24deffccb09b category: main optional: false - name: charset-normalizer - version: 3.4.0 + version: 3.4.1 manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.1-pyhd8ed1ab_0.conda hash: - md5: a374efa97290b8799046df7c5ca17164 - sha256: 1873ac45ea61f95750cb0b4e5e675d1c5b3def937e80c7eebb19297f76810be8 + md5: e83a31202d1c0a000fce3e9cf3825875 + sha256: 4e0ee91b97e5de3e74567bdacea27f0139709fceca4db8adffbe24deffccb09b category: main optional: false - name: click - version: 8.1.7 + version: 8.1.8 manager: conda platform: linux-64 dependencies: __unix: '' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda hash: - md5: f3ad426304898027fc619827ff428eca - sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec + md5: f22f4d4970e09d68a10b922cbb0408d3 + sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab category: main optional: false - name: click - version: 8.1.7 + version: 8.1.8 manager: conda platform: win-64 dependencies: __win: '' colorama: '' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-win_pyh7428d3b_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh7428d3b_0.conda hash: - md5: 3549ecbceb6cd77b91a105511b7d0786 - sha256: 90236b113b9a20041736e80b80ee965167f9aac0468315c55e2bad902d673fb0 + md5: 90e5571556f7a45db92ee51cb8f97af6 + sha256: c889ed359ae47eead4ffe8927b7206b22c55e67d6e74a9044c23736919d61e8d category: main optional: false - name: click-plugins @@ -1090,11 +1114,11 @@ package: platform: linux-64 dependencies: click: '>=3.0' - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1-py_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1-pyhd8ed1ab_1.conda hash: - md5: 4fd2c6b53934bd7d96d1f3fdaf99b79f - sha256: ddef6e559dde6673ee504b0e29dd814d36e22b6b9b1f519fa856ee268905bf92 + md5: 82bea35e4dac4678ba623cf10e95e375 + sha256: e7e2371a2561fbda9d50deb895d56fb16ccefe54f6d81b35ba8f1d33d3cc6957 category: main optional: false - name: click-plugins @@ -1103,11 +1127,11 @@ package: platform: win-64 dependencies: click: '>=3.0' - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1-py_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/click-plugins-1.1.1-pyhd8ed1ab_1.conda hash: - md5: 4fd2c6b53934bd7d96d1f3fdaf99b79f - sha256: ddef6e559dde6673ee504b0e29dd814d36e22b6b9b1f519fa856ee268905bf92 + md5: 82bea35e4dac4678ba623cf10e95e375 + sha256: e7e2371a2561fbda9d50deb895d56fb16ccefe54f6d81b35ba8f1d33d3cc6957 category: main optional: false - name: cligj @@ -1116,11 +1140,11 @@ package: platform: linux-64 dependencies: click: '>=4.0' - python: <4.0 - url: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_1.tar.bz2 + python: '>=3.9,<4.0' + url: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda hash: - md5: a29b7c141d6b2de4bb67788a5f107734 - sha256: 97bd58f0cfcff56a0bcda101e26f7d936625599325beba3e3a1fa512dd7fc174 + md5: 55c7804f428719241a90b152016085a1 + sha256: 1a52ae1febfcfb8f56211d1483a1ac4419b0028b7c3e9e61960a298978a42396 category: main optional: false - name: cligj @@ -1129,11 +1153,11 @@ package: platform: win-64 dependencies: click: '>=4.0' - python: <4.0 - url: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_1.tar.bz2 + python: '>=3.9,<4.0' + url: https://conda.anaconda.org/conda-forge/noarch/cligj-0.7.2-pyhd8ed1ab_2.conda hash: - md5: a29b7c141d6b2de4bb67788a5f107734 - sha256: 97bd58f0cfcff56a0bcda101e26f7d936625599325beba3e3a1fa512dd7fc174 + md5: 55c7804f428719241a90b152016085a1 + sha256: 1a52ae1febfcfb8f56211d1483a1ac4419b0028b7c3e9e61960a298978a42396 category: main optional: false - name: cloudpickle @@ -1141,11 +1165,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.0-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.0-pyhd8ed1ab_2.conda hash: - md5: c88ca2bb7099167912e3b26463fff079 - sha256: 5a33d0d3ef33121c546eaf78b3dac2141fc4d30bbaeb3959bbc66fcd5e99ced6 + md5: 1f76b7e2b3ab88def5aa2f158322c7e6 + sha256: 918151ad25558a37721055a02c0357ce9a2f51f07da1b238608e48ef17d35260 category: main optional: false - name: cloudpickle @@ -1153,11 +1177,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.0-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.1.0-pyhd8ed1ab_2.conda hash: - md5: c88ca2bb7099167912e3b26463fff079 - sha256: 5a33d0d3ef33121c546eaf78b3dac2141fc4d30bbaeb3959bbc66fcd5e99ced6 + md5: 1f76b7e2b3ab88def5aa2f158322c7e6 + sha256: 918151ad25558a37721055a02c0357ce9a2f51f07da1b238608e48ef17d35260 category: main optional: false - name: colorama @@ -1165,11 +1189,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda hash: - md5: 3faab06a954c2a04039983f2c4a50d99 - sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 category: main optional: false - name: colorama @@ -1177,11 +1201,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda hash: - md5: 3faab06a954c2a04039983f2c4a50d99 - sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 category: main optional: false - name: comm @@ -1189,12 +1213,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' + python: '>=3.9' traitlets: '>=5.3' - url: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_1.conda hash: - md5: 948d84721b578d426294e17a02e24cbb - sha256: e923acf02708a8a0b591f3bce4bdc11c8e63b73198b99b35fe6cd96bfb6a0dbe + md5: 74673132601ec2b7fc592755605f4c1b + sha256: 7e87ef7c91574d9fac19faedaaee328a70f718c9b4ddadfdc0ba9ac021bd64af category: main optional: false - name: comm @@ -1202,12 +1226,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' + python: '>=3.9' traitlets: '>=5.3' - url: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_1.conda hash: - md5: 948d84721b578d426294e17a02e24cbb - sha256: e923acf02708a8a0b591f3bce4bdc11c8e63b73198b99b35fe6cd96bfb6a0dbe + md5: 74673132601ec2b7fc592755605f4c1b + sha256: 7e87ef7c91574d9fac19faedaaee328a70f718c9b4ddadfdc0ba9ac021bd64af category: main optional: false - name: contourpy @@ -1245,7 +1269,7 @@ package: category: main optional: false - name: coverage - version: 7.6.7 + version: 7.6.10 manager: conda platform: linux-64 dependencies: @@ -1254,14 +1278,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* tomli: '' - url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.6.7-py310h89163eb_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.6.10-py310h89163eb_0.conda hash: - md5: edced792209b5a2591ebccad19955a59 - sha256: 9f2eac7b7b148bf48adaa946d331103bcd5306b588f319b21166c4f5851d5086 + md5: f9bf6ea6ddf8349750f1b455f603b0ae + sha256: 41336a050be9faa75b5785af036a756acd95adf2319cf258fe1836e2bf55221b category: dev optional: true - name: coverage - version: 7.6.7 + version: 7.6.10 manager: conda platform: win-64 dependencies: @@ -1271,23 +1295,23 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/coverage-7.6.7-py310h38315fa_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/coverage-7.6.10-py310h38315fa_0.conda hash: - md5: 43c66f538fcbc63d499ce1050bc69e92 - sha256: ce137eef8cd129d4a8adf3bbaa92c0d007116deb636b193462f086548e5e2099 + md5: 17a5805f88d2bce1e213b73201ef1007 + sha256: 187b0afc6fad0078667b1ade42e02623945c884b70554039cd30c5b92ebf46a6 category: dev optional: true - name: cpython - version: 3.10.15 + version: 3.10.16 manager: conda platform: win-64 dependencies: - python: 3.10.15.* + python: 3.10.16.* python_abi: '*' - url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.10.15-py310hd8ed1ab_2.conda + url: https://conda.anaconda.org/conda-forge/noarch/cpython-3.10.16-py310hd8ed1ab_1.conda hash: - md5: e9cf6abfa50a94f83da49c63cfef8790 - sha256: b17052af1e1d51a674c502c7e37a8185286789d784b529e05b19792add27e575 + md5: 5c7fe189f8761cd08a69924554c1ffab + sha256: 522b5ff2c5b1ebe0050ad15cd76a1e14696752eead790ab28e29977d7a8a99e6 category: main optional: false - name: cycler @@ -1295,11 +1319,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda hash: - md5: 5cd86562580f274031ede6aa6aa24441 - sha256: f221233f21b1d06971792d491445fd548224641af9443739b4b7b6d5d72954a8 + md5: 44600c4667a319d67dbe0681fc0bc833 + sha256: 9827efa891e507a91a8a2acf64e210d2aff394e1cde432ad08e1f8c66b12293c category: main optional: false - name: cycler @@ -1307,15 +1331,15 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_1.conda hash: - md5: 5cd86562580f274031ede6aa6aa24441 - sha256: f221233f21b1d06971792d491445fd548224641af9443739b4b7b6d5d72954a8 + md5: 44600c4667a319d67dbe0681fc0bc833 + sha256: 9827efa891e507a91a8a2acf64e210d2aff394e1cde432ad08e1f8c66b12293c category: main optional: false - name: cytoolz - version: 1.0.0 + version: 1.0.1 manager: conda platform: linux-64 dependencies: @@ -1324,14 +1348,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* toolz: '>=0.10.0' - url: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.0.0-py310ha75aee5_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/cytoolz-1.0.1-py310ha75aee5_0.conda hash: - md5: 81bbbb02f3664a012ce65c4fa8e8ca35 - sha256: cfedba6ebe6b9b0cefdb074ca5696734e570f370e7f19c146333bf4e05863cad + md5: d0be1adaa04a03aed745f3d02afb59ce + sha256: b427689dfc24a6a297363122ce10d502ea00ddb3c43af6cff175ff563cc94eea category: main optional: false - name: cytoolz - version: 1.0.0 + version: 1.0.1 manager: conda platform: win-64 dependencies: @@ -1341,10 +1365,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.0.0-py310ha8f682b_1.conda + url: https://conda.anaconda.org/conda-forge/win-64/cytoolz-1.0.1-py310ha8f682b_0.conda hash: - md5: 43d004ac0bbb0da71d6fff3fdaab57b2 - sha256: 7fd0e84bbba8e3c6c76bb7544ac010a62649a3e9139f388ab1180f09d32d7060 + md5: ed2af2a0262d44f753738588640b8534 + sha256: 670800d13b6cd64b8f53756b28254b47cfc177606dcd42094696582335ed0f02 category: main optional: false - name: dash @@ -1395,11 +1419,11 @@ package: platform: linux-64 dependencies: dash: '>=1.6.1' - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/dash-daq-0.5.0-pyh9f0ad1d_1.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/dash-daq-0.5.0-pyhd8ed1ab_2.conda hash: - md5: ebd54a61606fa8a191932cb72e448418 - sha256: 5e99ab8b5cac15e5d6986a90566a335c21b2849838a6e877bec79efa2e7e346f + md5: 0e0f9a45cefd5e52030555503618cb18 + sha256: 3b9d0e8a34c7c3b73a17ab03727304165cb06bb6c833303263f61f109820d4f3 category: main optional: false - name: dash-daq @@ -1408,11 +1432,11 @@ package: platform: win-64 dependencies: dash: '>=1.6.1' - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/dash-daq-0.5.0-pyh9f0ad1d_1.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/dash-daq-0.5.0-pyhd8ed1ab_2.conda hash: - md5: ebd54a61606fa8a191932cb72e448418 - sha256: 5e99ab8b5cac15e5d6986a90566a335c21b2849838a6e877bec79efa2e7e346f + md5: 0e0f9a45cefd5e52030555503618cb18 + sha256: 3b9d0e8a34c7c3b73a17ab03727304165cb06bb6c833303263f61f109820d4f3 category: main optional: false - name: dask-core @@ -1520,7 +1544,7 @@ package: category: main optional: false - name: debugpy - version: 1.8.9 + version: 1.8.11 manager: conda platform: linux-64 dependencies: @@ -1529,14 +1553,14 @@ package: libstdcxx: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.9-py310hf71b8c6_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.11-py310hf71b8c6_0.conda hash: - md5: 83920a2c090a02d77d2a1dfbd0d9f0a3 - sha256: c433606433a7683e13c56ec369a848c7ba6fc64a2b6fbd03664f916f44139ab1 + md5: bac2499f52d962865c59e21b43b9c55a + sha256: eac97bca8950021dfb662cf8f630f8d4c2490c15d3bea4f170299b4c4fccd444 category: main optional: false - name: debugpy - version: 1.8.9 + version: 1.8.11 manager: conda platform: win-64 dependencies: @@ -1545,10 +1569,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.9-py310h9e98ed7_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/debugpy-1.8.11-py310h9e98ed7_0.conda hash: - md5: 85292b2b0fdca947c417ca3ebbb6b0a5 - sha256: c439ecf453cc3255da3d33215d4e00494cbd9752d483fde2f7077a2f414fb64f + md5: 03379fc126e5e682ed94448ac13ee959 + sha256: 24c848e475fbf755013686b0a18dbc842b4cf6260d3ce1bacd48a7cdf22606a4 category: main optional: false - name: decorator @@ -1556,11 +1580,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_1.conda hash: - md5: 43afe5ab04e35e17ba28649471dd7364 - sha256: 328a6a379f9bdfd0230e51de291ce858e6479411ea4b0545fb377c71662ef3e2 + md5: d622d8d7ee8868870f9cbe259f381181 + sha256: 84e5120c97502a3785e8c3241c3bf51f64b4d445f13b4d2445db00d9816fe479 category: main optional: false - name: decorator @@ -1568,11 +1592,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_1.conda hash: - md5: 43afe5ab04e35e17ba28649471dd7364 - sha256: 328a6a379f9bdfd0230e51de291ce858e6479411ea4b0545fb377c71662ef3e2 + md5: d622d8d7ee8868870f9cbe259f381181 + sha256: 84e5120c97502a3785e8c3241c3bf51f64b4d445f13b4d2445db00d9816fe479 category: main optional: false - name: defusedxml @@ -1604,11 +1628,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_1.conda hash: - md5: 27faec84454995f6774786c7e5833cd6 - sha256: e597a41dcfb1a3b33d01d9d231975e2a931c3e1aeb8b5f3c40abbb10061f64b2 + md5: 5e11310fca410e9f31381157079dee55 + sha256: 499be2f8e4397a46249e8e500535795704af27e56360ae0c964904140b41454a category: dev optional: true - name: dill @@ -1616,11 +1640,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.9-pyhd8ed1ab_1.conda hash: - md5: 27faec84454995f6774786c7e5833cd6 - sha256: e597a41dcfb1a3b33d01d9d231975e2a931c3e1aeb8b5f3c40abbb10061f64b2 + md5: 5e11310fca410e9f31381157079dee55 + sha256: 499be2f8e4397a46249e8e500535795704af27e56360ae0c964904140b41454a category: dev optional: true - name: discretize @@ -1773,11 +1797,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda hash: - md5: 3cf04868fee0a029769bd41f4b2fbf2d - sha256: 2ec4a0900a4a9f42615fc04d0fb3286b796abe56590e8e042f6ec25e102dd5af + md5: 3366592d3c219f2731721f11bc93755c + sha256: 80f579bfc71b3dab5bef74114b89e26c85cb0df8caf4c27ab5ffc16363d57ee7 category: main optional: false - name: entrypoints @@ -1785,11 +1809,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_1.conda hash: - md5: 3cf04868fee0a029769bd41f4b2fbf2d - sha256: 2ec4a0900a4a9f42615fc04d0fb3286b796abe56590e8e042f6ec25e102dd5af + md5: 3366592d3c219f2731721f11bc93755c + sha256: 80f579bfc71b3dab5bef74114b89e26c85cb0df8caf4c27ab5ffc16363d57ee7 category: main optional: false - name: exceptiongroup @@ -1797,11 +1821,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda hash: - md5: d02ae936e42063ca46af6cdad2dbd1e0 - sha256: e0edd30c4b7144406bb4da975e6bb97d6bc9c0e999aa4efe66ae108cada5d5b5 + md5: a16662747cdeb9abbac74d0057cc976e + sha256: cbde2c64ec317118fc06b223c5fd87c8a680255e7348dd60e7b292d2e103e701 category: main optional: false - name: exceptiongroup @@ -1809,11 +1833,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda hash: - md5: d02ae936e42063ca46af6cdad2dbd1e0 - sha256: e0edd30c4b7144406bb4da975e6bb97d6bc9c0e999aa4efe66ae108cada5d5b5 + md5: a16662747cdeb9abbac74d0057cc976e + sha256: cbde2c64ec317118fc06b223c5fd87c8a680255e7348dd60e7b292d2e103e701 category: main optional: false - name: executing @@ -1821,11 +1845,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=2.7' - url: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_1.conda hash: - md5: d0441db20c827c11721889a241df1220 - sha256: a52d7516e2e11d3eb10908e10d3eb3f8ef267fea99ed9b09d52d96c4db3441b8 + md5: ef8b5fca76806159fc25b4f48d8737eb + sha256: 28d25ea375ebab4bf7479228f8430db20986187b04999136ff5c722ebd32eb60 category: main optional: false - name: executing @@ -1833,11 +1857,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=2.7' - url: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/executing-2.1.0-pyhd8ed1ab_1.conda hash: - md5: d0441db20c827c11721889a241df1220 - sha256: a52d7516e2e11d3eb10908e10d3eb3f8ef267fea99ed9b09d52d96c4db3441b8 + md5: ef8b5fca76806159fc25b4f48d8737eb + sha256: 28d25ea375ebab4bf7479228f8430db20986187b04999136ff5c722ebd32eb60 category: main optional: false - name: expat @@ -1855,27 +1879,27 @@ package: category: main optional: false - name: fasteners - version: 0.17.3 + version: '0.19' manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/fasteners-0.17.3-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/fasteners-0.19-pyhd8ed1ab_1.conda hash: - md5: 348e27e78a5e39090031448c72f66d5e - sha256: 42be6ac8478051b26751d778490d6a71de12e5c6443e145ff3eddbc577d9bcda + md5: dbe9d42e94b5ff7af7b7893f4ce052e7 + sha256: 42fb170778b47303e82eddfea9a6d1e1b8af00c927cd5a34595eaa882b903a16 category: main optional: false - name: fasteners - version: 0.17.3 + version: '0.19' manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/fasteners-0.17.3-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/fasteners-0.19-pyhd8ed1ab_1.conda hash: - md5: 348e27e78a5e39090031448c72f66d5e - sha256: 42be6ac8478051b26751d778490d6a71de12e5c6443e145ff3eddbc577d9bcda + md5: dbe9d42e94b5ff7af7b7893f4ce052e7 + sha256: 42fb170778b47303e82eddfea9a6d1e1b8af00c927cd5a34595eaa882b903a16 category: main optional: false - name: fiona @@ -2147,7 +2171,7 @@ package: category: main optional: false - name: fonttools - version: 4.55.0 + version: 4.55.3 manager: conda platform: linux-64 dependencies: @@ -2158,14 +2182,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* unicodedata2: '>=15.1.0' - url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.55.0-py310h89163eb_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.55.3-py310h89163eb_1.conda hash: - md5: b1f20c0aa91d0e67e773e67076f01cc6 - sha256: 53b1c66542fc9a19d6a73121a152e7f0329eace13c66e1b21b637a763b4155d8 + md5: c81251a712a36b477ed2330ec0e1a299 + sha256: c88ce55e386d77d6bb8b123e99ff338417b716d2ad44848c7423b9194dc4c783 category: main optional: false - name: fonttools - version: 4.55.0 + version: 4.55.3 manager: conda platform: win-64 dependencies: @@ -2177,10 +2201,10 @@ package: unicodedata2: '>=15.1.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.55.0-py310h38315fa_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/fonttools-4.55.3-py310h38315fa_1.conda hash: - md5: 318b25df8de7a28d4e4112595ba1628d - sha256: f47be610ef866cbde0221ddd5a78c7829d4090ee938f0ee03b8bfdd9a8551c58 + md5: d58ad87c3839221ad0d2747d5a6522c0 + sha256: 7b9559d269d6d6edb391bd8ca4d4c4c101e533a10738cbd798b626715cd3fd0e category: main optional: false - name: fqdn @@ -2189,11 +2213,11 @@ package: platform: linux-64 dependencies: cached-property: '>=1.3.0' - python: '>=2.7,<4' - url: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9,<4' + url: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda hash: - md5: 642d35437078749ef23a5dca2c9bb1f3 - sha256: 6cfd1f9bcd2358a69fb571f4b3af049b630d52647d906822dbedac03e84e4f63 + md5: d3549fd50d450b6d9e7dddff25dd2110 + sha256: 2509992ec2fd38ab27c7cdb42cf6cadc566a1cc0d1021a2673475d9fa87c6276 category: main optional: false - name: fqdn @@ -2202,11 +2226,11 @@ package: platform: win-64 dependencies: cached-property: '>=1.3.0' - python: '>=2.7,<4' - url: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9,<4' + url: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda hash: - md5: 642d35437078749ef23a5dca2c9bb1f3 - sha256: 6cfd1f9bcd2358a69fb571f4b3af049b630d52647d906822dbedac03e84e4f63 + md5: d3549fd50d450b6d9e7dddff25dd2110 + sha256: 2509992ec2fd38ab27c7cdb42cf6cadc566a1cc0d1021a2673475d9fa87c6276 category: main optional: false - name: freetype @@ -2244,14 +2268,15 @@ package: manager: conda platform: linux-64 dependencies: - libexpat: '>=2.5.0,<3.0a0' - libgcc-ng: '>=12' + __glibc: '>=2.17,<3.0.a0' + libexpat: '>=2.6.4,<3.0a0' + libgcc: '>=13' libiconv: '>=1.17,<2.0a0' - minizip: '>=4.0.1,<5.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/freexl-2.0.0-h743c826_0.conda + minizip: '>=4.0.7,<5.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/freexl-2.0.0-h9dce30a_2.conda hash: - md5: 12e6988845706b2cfbc3bc35c9a61a95 - sha256: 9213f60ba710ecfd3632ce47e036775c9f15ce80a6682ff63cbf12d9dddd5382 + md5: ecb5d11305b8ba1801543002e69d2f2f + sha256: c8960e00a6db69b85c16c693ce05484facf20f1a80430552145f652a880e0d2a category: main optional: false - name: freexl @@ -2259,16 +2284,16 @@ package: manager: conda platform: win-64 dependencies: - libexpat: '>=2.5.0,<3.0a0' + libexpat: '>=2.6.4,<3.0a0' libiconv: '>=1.17,<2.0a0' - minizip: '>=4.0.1,<5.0a0' + minizip: '>=4.0.7,<5.0a0' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-h8276f4a_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/freexl-2.0.0-hf297d47_2.conda hash: - md5: 8e02e06229c677cbc9f5dc69ba49052c - sha256: 9ef2fcf3b35703bf61a8359038c4b707382f3d5f0c4020f3f8ffb2f665daabae + md5: d6a8059de245e53478b581742b53f71d + sha256: 1e62cbc6daa74656034dc4a6e58faa2d50291719c1cba53cc0b1946f0d2b9404 category: main optional: false - name: fsspec @@ -2621,10 +2646,10 @@ package: libstdcxx: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.1.1-py310hf71b8c6_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.1.1-py310hf71b8c6_1.conda hash: - md5: 76323cdee8093d5c214c35a114ef950c - sha256: 6720cc42d899a42fd096bc20f466d86951fa47b31483be64df2f35cc419d1a85 + md5: 973d74c46d37ed8bbdbe721fb64a4357 + sha256: 5a03a750d23a26a2660799f60a4cce4e951f5a5ee70db97216ae306b82401c61 category: dev optional: true - name: greenlet @@ -2637,10 +2662,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.1.1-py310h9e98ed7_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/greenlet-3.1.1-py310h9e98ed7_1.conda hash: - md5: b1c267e92cab63c3de1b1565bafdb672 - sha256: b989b9fefbe436cbfcb01bf4edb38a79e7d6d75d28532f9d63e7b067de04f710 + md5: 7368d01f0332e68d5a2b25638bb8c1f7 + sha256: bcaa2134709970325aa5f7257ed98f519a4f5fe5b8218d0d74b7593a73e86a23 category: dev optional: true - name: gst-plugins-base @@ -2733,12 +2758,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3' + python: '>=3.9' typing_extensions: '' - url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_1.conda hash: - md5: b21ed0883505ba1910994f1df031a428 - sha256: 817d2c77d53afe3f3d9cf7f6eb8745cdd8ea76c7adaa9d7ced75c455a2c2c085 + md5: 7ee49e89531c0dcbba9466f6d115d585 + sha256: 622516185a7c740d5c7f27016d0c15b45782c1501e5611deec63fd70344ce7c8 category: main optional: false - name: h11 @@ -2746,12 +2771,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3' + python: '>=3.9' typing_extensions: '' - url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_1.conda hash: - md5: b21ed0883505ba1910994f1df031a428 - sha256: 817d2c77d53afe3f3d9cf7f6eb8745cdd8ea76c7adaa9d7ced75c455a2c2c085 + md5: 7ee49e89531c0dcbba9466f6d115d585 + sha256: 622516185a7c740d5c7f27016d0c15b45782c1501e5611deec63fd70344ce7c8 category: main optional: false - name: h2 @@ -2761,11 +2786,11 @@ package: dependencies: hpack: '>=4.0,<5' hyperframe: '>=6.0,<7' - python: '>=3.6.1' - url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_1.conda hash: - md5: b748fbf7060927a6e82df7cb5ee8f097 - sha256: bfc6a23849953647f4e255c782e74a0e18fe16f7e25c7bb0bc57b83bb6762c7a + md5: 825927dc7b0f287ef8d4d0011bb113b1 + sha256: 843ddad410c370672a8250470697027618f104153612439076d4d7b91eeb7b5c category: main optional: false - name: h2 @@ -2775,11 +2800,11 @@ package: dependencies: hpack: '>=4.0,<5' hyperframe: '>=6.0,<7' - python: '>=3.6.1' - url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_1.conda hash: - md5: b748fbf7060927a6e82df7cb5ee8f097 - sha256: bfc6a23849953647f4e255c782e74a0e18fe16f7e25c7bb0bc57b83bb6762c7a + md5: 825927dc7b0f287ef8d4d0011bb113b1 + sha256: 843ddad410c370672a8250470697027618f104153612439076d4d7b91eeb7b5c category: main optional: false - name: h5py @@ -2794,10 +2819,10 @@ package: numpy: '>=1.19,<3' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.12.1-nompi_py310h60e0fe6_102.conda + url: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.12.1-nompi_py310h60e0fe6_103.conda hash: - md5: bbd9033531b34e220e3ff09312e91137 - sha256: 15b07c1a1daf1a39ca9f6a7ceaef55b160ce20a9464b368eb093c31b4d538b9a + md5: 6a6741edefd21c02a7ebdc170617c5fc + sha256: 5d5fdc4a4edff1f3031f38b4a301157300872b81964570e2cc5b8707da230aa5 category: main optional: false - name: h5py @@ -2813,10 +2838,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/h5py-3.12.1-nompi_py310h2b0be38_102.conda + url: https://conda.anaconda.org/conda-forge/win-64/h5py-3.12.1-nompi_py310h2b0be38_103.conda hash: - md5: 92f7ac9267c827a69613d684110cc1f7 - sha256: 3a564c0951719f5b6ac3b7e4f7da5d3f00f4b596ef5036089c87c557e2b53692 + md5: 2df4a6c8f882f68fc2d828c237065af9 + sha256: 887da947037a53a4041337af4a5d2bc02eaaf8566a07b58c174ab7bf89f40795 category: main optional: false - name: harfbuzz @@ -2873,18 +2898,19 @@ package: manager: conda platform: linux-64 dependencies: + __glibc: '>=2.17,<3.0.a0' libaec: '>=1.1.3,<2.0a0' - libcurl: '>=8.8.0,<9.0a0' - libgcc-ng: '>=12' - libgfortran-ng: '' - libgfortran5: '>=12.3.0' - libstdcxx-ng: '>=12' - libzlib: '>=1.2.13,<2.0a0' - openssl: '>=3.3.1,<4.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.3-nompi_hdf9ad27_105.conda + libcurl: '>=8.10.1,<9.0a0' + libgcc: '>=13' + libgfortran: '' + libgfortran5: '>=13.3.0' + libstdcxx: '>=13' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.4.0,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.3-nompi_h2d575fe_108.conda hash: - md5: 7e1729554e209627636a0f6fabcdd115 - sha256: 2278fa07da6f96e807d402cd55480624d67d2dee202191aaaf278ce5ab23605a + md5: b74598031529dafb2a66f9e90f26f2dc + sha256: 340b997d57eb89c058d8f2e80d426e4716661a51efcd1d857afb2b29f59177a4 category: main optional: false - name: hdf5 @@ -2893,16 +2919,16 @@ package: platform: win-64 dependencies: libaec: '>=1.1.3,<2.0a0' - libcurl: '>=8.8.0,<9.0a0' - libzlib: '>=1.2.13,<2.0a0' - openssl: '>=3.3.1,<4.0a0' + libcurl: '>=8.10.1,<9.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.4.0,<4.0a0' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.3-nompi_h2b43c12_105.conda + url: https://conda.anaconda.org/conda-forge/win-64/hdf5-1.14.3-nompi_hd5d9e70_108.conda hash: - md5: 5788de34381caf624b78c4981618dc0a - sha256: 56c803607a64b5117a8b4bcfdde722e4fa40970ddc4c61224b0981cbb70fb005 + md5: 8b76ed5e2c0838095aad285acb14a94c + sha256: 33dfcb8c544949559238af8933ca5d5f9874accc297362e52246f32f06b53074 category: main optional: false - name: hpack @@ -2910,11 +2936,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda hash: - md5: 914d6646c4dbb1fd3ff539830a12fd71 - sha256: 5dec948932c4f740674b1afb551223ada0c55103f4c7bf86a110454da3d27cb8 + md5: 2aa5ff7fa34a81b9196532c84c10d865 + sha256: ec89b7e5b8aa2f0219f666084446e1fb7b54545861e9caa892acb24d125761b5 category: main optional: false - name: hpack @@ -2922,11 +2948,11 @@ package: manager: conda platform: win-64 dependencies: - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyhd8ed1ab_1.conda hash: - md5: 914d6646c4dbb1fd3ff539830a12fd71 - sha256: 5dec948932c4f740674b1afb551223ada0c55103f4c7bf86a110454da3d27cb8 + md5: 2aa5ff7fa34a81b9196532c84c10d865 + sha256: ec89b7e5b8aa2f0219f666084446e1fb7b54545861e9caa892acb24d125761b5 category: main optional: false - name: httpcore @@ -2964,7 +2990,7 @@ package: category: main optional: false - name: httpx - version: 0.27.2 + version: 0.28.1 manager: conda platform: linux-64 dependencies: @@ -2972,16 +2998,15 @@ package: certifi: '' httpcore: 1.* idna: '' - python: '>=3.8' - sniffio: '' - url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda hash: - md5: 7e9ac3faeebdbd7b53b462c41891e7f7 - sha256: 1a33f160548bf447e15c0273899d27e4473f1d5b7ca1441232ec2d9d07c56d03 + md5: d6989ead454181f4f9bc987d3dc4e285 + sha256: cd0f1de3697b252df95f98383e9edb1d00386bfdd03fdf607fa42fe5fcb09950 category: main optional: false - name: httpx - version: 0.27.2 + version: 0.28.1 manager: conda platform: win-64 dependencies: @@ -2989,12 +3014,11 @@ package: certifi: '' httpcore: 1.* idna: '' - python: '>=3.8' - sniffio: '' - url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda hash: - md5: 7e9ac3faeebdbd7b53b462c41891e7f7 - sha256: 1a33f160548bf447e15c0273899d27e4473f1d5b7ca1441232ec2d9d07c56d03 + md5: d6989ead454181f4f9bc987d3dc4e285 + sha256: cd0f1de3697b252df95f98383e9edb1d00386bfdd03fdf607fa42fe5fcb09950 category: main optional: false - name: hyperframe @@ -3002,11 +3026,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_1.conda hash: - md5: 9f765cbfab6870c8435b9eefecd7a1f4 - sha256: e374a9d0f53149328134a8d86f5d72bca4c6dcebed3c0ecfa968c02996289330 + md5: 566e75c90c1d0c8c459eb0ad9833dc7a + sha256: e91c6ef09d076e1d9a02819cd00fa7ee18ecf30cdd667605c853980216584d1b category: main optional: false - name: hyperframe @@ -3014,11 +3038,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.0.1-pyhd8ed1ab_1.conda hash: - md5: 9f765cbfab6870c8435b9eefecd7a1f4 - sha256: e374a9d0f53149328134a8d86f5d72bca4c6dcebed3c0ecfa968c02996289330 + md5: 566e75c90c1d0c8c459eb0ad9833dc7a + sha256: e91c6ef09d076e1d9a02819cd00fa7ee18ecf30cdd667605c853980216584d1b category: main optional: false - name: icu @@ -3053,11 +3077,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda hash: - md5: 7ba2ede0e7c795ff95088daf0dc59753 - sha256: 8c57fd68e6be5eecba4462e983aed7e85761a519aab80e834bbd7794d4b545b2 + md5: 39a4f67be3286c86d696df570b1201b7 + sha256: d7a472c9fd479e2e8dcb83fb8d433fce971ea369d704ece380e876f9c3494e87 category: main optional: false - name: idna @@ -3065,11 +3089,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/idna-3.10-pyhd8ed1ab_1.conda hash: - md5: 7ba2ede0e7c795ff95088daf0dc59753 - sha256: 8c57fd68e6be5eecba4462e983aed7e85761a519aab80e834bbd7794d4b545b2 + md5: 39a4f67be3286c86d696df570b1201b7 + sha256: d7a472c9fd479e2e8dcb83fb8d433fce971ea369d704ece380e876f9c3494e87 category: main optional: false - name: imagecodecs @@ -3160,31 +3184,31 @@ package: category: main optional: false - name: imageio - version: 2.36.0 + version: 2.36.1 manager: conda platform: linux-64 dependencies: numpy: '' pillow: '>=8.3.2' - python: '>=3' - url: https://conda.anaconda.org/conda-forge/noarch/imageio-2.36.0-pyh12aca89_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/imageio-2.36.1-pyh12aca89_1.conda hash: - md5: 36349844ff73fcd0140ee7f30745f0bf - sha256: 1fbe1bdbef2c19643c6f4e2c216305d8d54860db80968fecfa7566277518132f + md5: 84d5a2f075c861a8f98afd2842f7eb6e + sha256: 84e4c3fb7a7f11c52678a8aadfde184fb0a0d91eea9fc5b70516ccaf9f8e2551 category: main optional: false - name: imageio - version: 2.36.0 + version: 2.36.1 manager: conda platform: win-64 dependencies: numpy: '' pillow: '>=8.3.2' - python: '>=3' - url: https://conda.anaconda.org/conda-forge/noarch/imageio-2.36.0-pyh12aca89_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/imageio-2.36.1-pyh12aca89_1.conda hash: - md5: 36349844ff73fcd0140ee7f30745f0bf - sha256: 1fbe1bdbef2c19643c6f4e2c216305d8d54860db80968fecfa7566277518132f + md5: 84d5a2f075c861a8f98afd2842f7eb6e + sha256: 84e4c3fb7a7f11c52678a8aadfde184fb0a0d91eea9fc5b70516ccaf9f8e2551 category: main optional: false - name: imagesize @@ -3216,12 +3240,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' zipp: '>=0.5' - url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_1.conda hash: - md5: 54198435fce4d64d8a89af22573012a8 - sha256: 7194700ce1a5ad2621fd68e894dd8c1ceaff9a38723e6e0e5298fdef13017b1c + md5: 315607a3030ad5d5227e76e0733798ff + sha256: 13766b88fc5b23581530d3a0287c0c58ad82f60401afefab283bf158d2be55a9 category: main optional: false - name: importlib-metadata @@ -3229,12 +3253,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' zipp: '>=0.5' - url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_1.conda hash: - md5: 54198435fce4d64d8a89af22573012a8 - sha256: 7194700ce1a5ad2621fd68e894dd8c1ceaff9a38723e6e0e5298fdef13017b1c + md5: 315607a3030ad5d5227e76e0733798ff + sha256: 13766b88fc5b23581530d3a0287c0c58ad82f60401afefab283bf158d2be55a9 category: main optional: false - name: importlib_metadata @@ -3243,10 +3267,10 @@ package: platform: linux-64 dependencies: importlib-metadata: '>=8.5.0,<8.5.1.0a0' - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.5.0-hd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.5.0-hd8ed1ab_1.conda hash: - md5: 2a92e152208121afadf85a5e1f3a5f4d - sha256: 313b8a05211bacd6b15ab2621cb73d7f41ea5c6cae98db53367d47833f03fef1 + md5: c70dd0718dbccdcc6d5828de3e71399d + sha256: 204fc7f02be8acda93073f5126b9707b8847b673d4c6558db208973c92f9af3c category: main optional: false - name: importlib_metadata @@ -3255,36 +3279,36 @@ package: platform: win-64 dependencies: importlib-metadata: '>=8.5.0,<8.5.1.0a0' - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.5.0-hd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-8.5.0-hd8ed1ab_1.conda hash: - md5: 2a92e152208121afadf85a5e1f3a5f4d - sha256: 313b8a05211bacd6b15ab2621cb73d7f41ea5c6cae98db53367d47833f03fef1 + md5: c70dd0718dbccdcc6d5828de3e71399d + sha256: 204fc7f02be8acda93073f5126b9707b8847b673d4c6558db208973c92f9af3c category: main optional: false - name: importlib_resources - version: 6.4.5 + version: 6.5.2 manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' zipp: '>=3.1.0' - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda hash: - md5: c808991d29b9838fb4d96ce8267ec9ec - sha256: 2cb9db3e40033c3df72d3defc678a012840378fd55a67e4351363d4b321a0dc1 + md5: c85c76dc67d75619a92f51dfbce06992 + sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80 category: main optional: false - name: importlib_resources - version: 6.4.5 + version: 6.5.2 manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' zipp: '>=3.1.0' - url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.5-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.5.2-pyhd8ed1ab_0.conda hash: - md5: c808991d29b9838fb4d96ce8267ec9ec - sha256: 2cb9db3e40033c3df72d3defc678a012840378fd55a67e4351363d4b321a0dc1 + md5: c85c76dc67d75619a92f51dfbce06992 + sha256: acc1d991837c0afb67c75b77fdc72b4bf022aac71fedd8b9ea45918ac9b08a80 category: main optional: false - name: iniconfig @@ -3292,11 +3316,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda hash: - md5: f800d2da156d08e289b14e87e43c1ae5 - sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 + md5: 6837f3eff7dcea42ecd714ce1ac2b108 + sha256: 0ec8f4d02053cd03b0f3e63168316530949484f80e16f5e2fb199a1d117a89ca category: dev optional: true - name: iniconfig @@ -3304,11 +3328,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda hash: - md5: f800d2da156d08e289b14e87e43c1ae5 - sha256: 38740c939b668b36a50ef455b077e8015b8c9cf89860d421b3fff86048f49666 + md5: 6837f3eff7dcea42ecd714ce1ac2b108 + sha256: 0ec8f4d02053cd03b0f3e63168316530949484f80e16f5e2fb199a1d117a89ca category: dev optional: true - name: intel-openmp @@ -3399,7 +3423,7 @@ package: category: main optional: false - name: ipython - version: 8.29.0 + version: 8.31.0 manager: conda platform: linux-64 dependencies: @@ -3416,14 +3440,14 @@ package: stack_data: '' traitlets: '>=5.13.0' typing_extensions: '>=4.6' - url: https://conda.anaconda.org/conda-forge/noarch/ipython-8.29.0-pyh707e725_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/ipython-8.31.0-pyh707e725_0.conda hash: - md5: 56db21d7d51410fcfbfeca3d1a6b4269 - sha256: 606723272a208cca1036852e04fbb61741b78451784746e75edd1becb70347d2 + md5: 1d7fcd803dfa936a6c3bd051b293241c + sha256: e10d1172ebf950f8f087f0d9310d215f5ddb8f3ad247bfa58ab5a909b3cabbdc category: main optional: false - name: ipython - version: 8.29.0 + version: 8.31.0 manager: conda platform: win-64 dependencies: @@ -3440,10 +3464,10 @@ package: stack_data: '' traitlets: '>=5.13.0' typing_extensions: '>=4.6' - url: https://conda.anaconda.org/conda-forge/noarch/ipython-8.29.0-pyh7428d3b_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/ipython-8.31.0-pyh7428d3b_0.conda hash: - md5: 9dc505b3569b4c26cffc241c50695f75 - sha256: 2208dbe96e94ba653c4e0a5f302e36f16df73eec1968cfb85eff2d9775c9ced1 + md5: 749ce640fcb691daa2579344cca50f6e + sha256: bce70d36099dbb2c0a4b9cb7c3f2a8742db94a63aea329a75688d6b93ae07ebb category: main optional: false - name: ipython_genutils @@ -3451,11 +3475,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=2.7' - url: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda hash: - md5: f8ed9f18dce81e4ee55c858cc2f8548a - sha256: 72fbbe8bc511f20268d347c1a06e279128237e096c4c174b2f9164a661c6b13e + md5: 2f0ba4bc12af346bc6c99bdc377e8944 + sha256: 45821a8986b4cb2421f766b240dbe6998a3c3123f012dd566720c1322e9b6e18 category: main optional: false - name: ipython_genutils @@ -3463,11 +3487,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=2.7' - url: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-pyhd8ed1ab_2.conda hash: - md5: f8ed9f18dce81e4ee55c858cc2f8548a - sha256: 72fbbe8bc511f20268d347c1a06e279128237e096c4c174b2f9164a661c6b13e + md5: 2f0ba4bc12af346bc6c99bdc377e8944 + sha256: 45821a8986b4cb2421f766b240dbe6998a3c3123f012dd566720c1322e9b6e18 category: main optional: false - name: ipywidgets @@ -3512,11 +3536,11 @@ package: platform: linux-64 dependencies: arrow: '>=0.15.0' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda hash: - md5: 4cb68948e0b8429534380243d063a27a - sha256: 7bb5c4d994361022f47a807b5e7d101b3dce16f7dd8a0af6ffad9f479d346493 + md5: 0b0154421989637d424ccf0f104be51a + sha256: 08e838d29c134a7684bca0468401d26840f41c92267c4126d7b43a6b533b0aed category: main optional: false - name: isoduration @@ -3525,11 +3549,11 @@ package: platform: win-64 dependencies: arrow: '>=0.15.0' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda hash: - md5: 4cb68948e0b8429534380243d063a27a - sha256: 7bb5c4d994361022f47a807b5e7d101b3dce16f7dd8a0af6ffad9f479d346493 + md5: 0b0154421989637d424ccf0f104be51a + sha256: 08e838d29c134a7684bca0468401d26840f41c92267c4126d7b43a6b533b0aed category: main optional: false - name: isort @@ -3537,12 +3561,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8,<4.0' + python: '>=3.9,<4.0' setuptools: '' - url: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_1.conda hash: - md5: 1d25ed2b95b92b026aaa795eabec8d91 - sha256: 78a7e2037029366d2149f73c8d02e93cac903d535e208cc4517808b0b42e85f2 + md5: ef7dc847f19fe4859d5aaa33385bf509 + sha256: 6ebf6e83c2d449760ad5c5cc344711d6404f9e3cf6952811b8678aca5a4ab01f category: dev optional: true - name: isort @@ -3550,12 +3574,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8,<4.0' + python: '>=3.9,<4.0' setuptools: '' - url: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_1.conda hash: - md5: 1d25ed2b95b92b026aaa795eabec8d91 - sha256: 78a7e2037029366d2149f73c8d02e93cac903d535e208cc4517808b0b42e85f2 + md5: ef7dc847f19fe4859d5aaa33385bf509 + sha256: 6ebf6e83c2d449760ad5c5cc344711d6404f9e3cf6952811b8678aca5a4ab01f category: dev optional: true - name: itsdangerous @@ -3563,11 +3587,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda hash: - md5: ff7ca04134ee8dde1d7cf491a78ef7c7 - sha256: 4e933e36e9b0401b62ea8fd63393827ebeb4250de77a56687afb387d504523c5 + md5: 7ac5f795c15f288984e32add616cdc59 + sha256: 1684b7b16eec08efef5302ce298c606b163c18272b69a62b666fbaa61516f170 category: main optional: false - name: itsdangerous @@ -3575,11 +3599,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/itsdangerous-2.2.0-pyhd8ed1ab_1.conda hash: - md5: ff7ca04134ee8dde1d7cf491a78ef7c7 - sha256: 4e933e36e9b0401b62ea8fd63393827ebeb4250de77a56687afb387d504523c5 + md5: 7ac5f795c15f288984e32add616cdc59 + sha256: 1684b7b16eec08efef5302ce298c606b163c18272b69a62b666fbaa61516f170 category: main optional: false - name: jedi @@ -3589,10 +3613,10 @@ package: dependencies: parso: '>=0.8.3,<0.9.0' python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda hash: - md5: 11ead81b00e0f7cc901fceb7ccfb92c1 - sha256: d37dad14c00d06d33bfb99c378d0abd7645224a9491c433af5028f24863341ab + md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 + sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 category: main optional: false - name: jedi @@ -3602,36 +3626,36 @@ package: dependencies: parso: '>=0.8.3,<0.9.0' python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda hash: - md5: 11ead81b00e0f7cc901fceb7ccfb92c1 - sha256: d37dad14c00d06d33bfb99c378d0abd7645224a9491c433af5028f24863341ab + md5: a4f4c5dc9b80bc50e0d3dc4e6e8f1bd9 + sha256: 92c4d217e2dc68983f724aa983cca5464dcb929c566627b26a2511159667dba8 category: main optional: false - name: jinja2 - version: 3.1.4 + version: 3.1.5 manager: conda platform: linux-64 dependencies: markupsafe: '>=2.0' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.5-pyhd8ed1ab_0.conda hash: - md5: 7b86ecb7d3557821c649b3c31e3eb9f2 - sha256: 27380d870d42d00350d2d52598cddaf02f9505fb24be09488da0c9b8d1428f2d + md5: 2752a6ed44105bfb18c9bef1177d9dcd + sha256: 98977694b9ecaa3218662f843425f39501f81973c450f995eec68f1803ed71c3 category: main optional: false - name: jinja2 - version: 3.1.4 + version: 3.1.5 manager: conda platform: win-64 dependencies: markupsafe: '>=2.0' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.5-pyhd8ed1ab_0.conda hash: - md5: 7b86ecb7d3557821c649b3c31e3eb9f2 - sha256: 27380d870d42d00350d2d52598cddaf02f9505fb24be09488da0c9b8d1428f2d + md5: 2752a6ed44105bfb18c9bef1177d9dcd + sha256: 98977694b9ecaa3218662f843425f39501f81973c450f995eec68f1803ed71c3 category: main optional: false - name: joblib @@ -3639,12 +3663,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' setuptools: '' - url: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_1.conda hash: - md5: 25df261d4523d9f9783bcdb7208d872f - sha256: 8ad719524b1039510fcbd75eb776123189d75e2c09228189257ddbcab86f5b64 + md5: bf8243ee348f3a10a14ed0cae323e0c1 + sha256: 51cc2dc491668af0c4d9299b0ab750f16ccf413ec5e2391b924108c1fbacae9b category: main optional: false - name: joblib @@ -3652,12 +3676,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' setuptools: '' - url: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_1.conda hash: - md5: 25df261d4523d9f9783bcdb7208d872f - sha256: 8ad719524b1039510fcbd75eb776123189d75e2c09228189257ddbcab86f5b64 + md5: bf8243ee348f3a10a14ed0cae323e0c1 + sha256: 51cc2dc491668af0c4d9299b0ab750f16ccf413ec5e2391b924108c1fbacae9b category: main optional: false - name: json-c @@ -3674,27 +3698,27 @@ package: category: main optional: false - name: json5 - version: 0.9.28 + version: 0.10.0 manager: conda platform: linux-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.28-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/json5-0.10.0-pyhd8ed1ab_1.conda hash: - md5: b5fd1ac9269dd22e003eaac27e249d97 - sha256: 402586e586761e0d51dd590fb71786f7f4e21c16353ca7d1c559358a1f849b26 + md5: cd170f82d8e5b355dfdea6adab23e4af + sha256: 61bca2dac194c44603446944745566d7b4e55407280f6f6cea8bbe4de26b558f category: main optional: false - name: json5 - version: 0.9.28 + version: 0.10.0 manager: conda platform: win-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/json5-0.9.28-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/json5-0.10.0-pyhd8ed1ab_1.conda hash: - md5: b5fd1ac9269dd22e003eaac27e249d97 - sha256: 402586e586761e0d51dd590fb71786f7f4e21c16353ca7d1c559358a1f849b26 + md5: cd170f82d8e5b355dfdea6adab23e4af + sha256: 61bca2dac194c44603446944745566d7b4e55407280f6f6cea8bbe4de26b558f category: main optional: false - name: jsonpointer @@ -3732,13 +3756,13 @@ package: importlib_resources: '>=1.4.0' jsonschema-specifications: '>=2023.03.6' pkgutil-resolve-name: '>=1.3.10' - python: '>=3.8' + python: '>=3.9' referencing: '>=0.28.4' rpds-py: '>=0.7.1' - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_1.conda hash: - md5: da304c192ad59975202859b367d0f6a2 - sha256: 7d0c4c0346b26be9f220682b7c5c0d84606d48c6dbc36fc238e4452dda733aff + md5: a3cead9264b331b32fe8f0aabc967522 + sha256: be992a99e589146f229c58fe5083e0b60551d774511c494f91fe011931bd7893 category: main optional: false - name: jsonschema @@ -3750,13 +3774,13 @@ package: importlib_resources: '>=1.4.0' jsonschema-specifications: '>=2023.03.6' pkgutil-resolve-name: '>=1.3.10' - python: '>=3.8' + python: '>=3.9' referencing: '>=0.28.4' rpds-py: '>=0.7.1' - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.23.0-pyhd8ed1ab_1.conda hash: - md5: da304c192ad59975202859b367d0f6a2 - sha256: 7d0c4c0346b26be9f220682b7c5c0d84606d48c6dbc36fc238e4452dda733aff + md5: a3cead9264b331b32fe8f0aabc967522 + sha256: be992a99e589146f229c58fe5083e0b60551d774511c494f91fe011931bd7893 category: main optional: false - name: jsonschema-specifications @@ -3764,12 +3788,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' referencing: '>=0.31.0' - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_1.conda hash: - md5: 720745920222587ef942acfbc578b584 - sha256: 82f8bed0f21dc0b3aff40dd4e39d77e85b93b0417bc5659b001e0109341b8b98 + md5: 3b519bc21bc80e60b456f1e62962a766 + sha256: 37127133837444cf0e6d1a95ff5a505f8214ed4e89e8e9343284840e674c6891 category: main optional: false - name: jsonschema-specifications @@ -3777,12 +3801,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' referencing: '>=0.31.0' - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2024.10.1-pyhd8ed1ab_1.conda hash: - md5: 720745920222587ef942acfbc578b584 - sha256: 82f8bed0f21dc0b3aff40dd4e39d77e85b93b0417bc5659b001e0109341b8b98 + md5: 3b519bc21bc80e60b456f1e62962a766 + sha256: 37127133837444cf0e6d1a95ff5a505f8214ed4e89e8e9343284840e674c6891 category: main optional: false - name: jsonschema-with-format-nongpl @@ -3799,10 +3823,10 @@ package: rfc3986-validator: '>0.1.0' uri-template: '' webcolors: '>=24.6.0' - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_1.conda hash: - md5: 16b37612b3a2fd77f409329e213b530c - sha256: 007a0a506a0d1805b099629cb0ee743ad0afe7d9749e57339f32c168119e0139 + md5: a5b1a8065857cc4bd8b7a38d063bb728 + sha256: 6e0184530011961a0802fda100ecdfd4b0eca634ed94c37e553b72e21c26627d category: main optional: false - name: jsonschema-with-format-nongpl @@ -3819,10 +3843,10 @@ package: rfc3986-validator: '>0.1.0' uri-template: '' webcolors: '>=24.6.0' - url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.23.0-hd8ed1ab_1.conda hash: - md5: 16b37612b3a2fd77f409329e213b530c - sha256: 007a0a506a0d1805b099629cb0ee743ad0afe7d9749e57339f32c168119e0139 + md5: a5b1a8065857cc4bd8b7a38d063bb728 + sha256: 6e0184530011961a0802fda100ecdfd4b0eca634ed94c37e553b72e21c26627d category: main optional: false - name: jupyter-book @@ -3850,10 +3874,10 @@ package: sphinx-thebe: '>=0.3.1,<1' sphinx-togglebutton: '' sphinxcontrib-bibtex: '>=2.5.0,<3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter-book-1.0.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter-book-1.0.3-pyhd8ed1ab_1.conda hash: - md5: 0bda36d99718dd2f0f6e215a7c0840f5 - sha256: 9b31469c70dde714acb5f0f03488e83b63019d3866376801fdb70e9c9ff4b6eb + md5: 739a29ac73026e68405153b50d0c60c2 + sha256: f028c32b5d97d24df44b1a41f771a9932e07815c60c02e24acd9bd2eca31097f category: dev optional: true - name: jupyter-book @@ -3881,10 +3905,10 @@ package: sphinx-thebe: '>=0.3.1,<1' sphinx-togglebutton: '' sphinxcontrib-bibtex: '>=2.5.0,<3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter-book-1.0.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter-book-1.0.3-pyhd8ed1ab_1.conda hash: - md5: 0bda36d99718dd2f0f6e215a7c0840f5 - sha256: 9b31469c70dde714acb5f0f03488e83b63019d3866376801fdb70e9c9ff4b6eb + md5: 739a29ac73026e68405153b50d0c60c2 + sha256: f028c32b5d97d24df44b1a41f771a9932e07815c60c02e24acd9bd2eca31097f category: dev optional: true - name: jupyter-cache @@ -3934,11 +3958,11 @@ package: dependencies: importlib-metadata: '>=4.8.3' jupyter_server: '>=1.1.2' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_1.conda hash: - md5: 885867f6adab3d7ecdf8ab6ca0785f51 - sha256: 2151c2c63e0442a4c69ee0ad8a634195eedab10b7b74c0ec8266471842239a93 + md5: 0b4c3908e5a38ea22ebb98ee5888c768 + sha256: 1565c8b1423a37fca00fe0ab2a17cd8992c2ecf23e7867a1c9f6f86a9831c196 category: main optional: false - name: jupyter-lsp @@ -3948,11 +3972,11 @@ package: dependencies: importlib-metadata: '>=4.8.3' jupyter_server: '>=1.1.2' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_1.conda hash: - md5: 885867f6adab3d7ecdf8ab6ca0785f51 - sha256: 2151c2c63e0442a4c69ee0ad8a634195eedab10b7b74c0ec8266471842239a93 + md5: 0b4c3908e5a38ea22ebb98ee5888c768 + sha256: 1565c8b1423a37fca00fe0ab2a17cd8992c2ecf23e7867a1c9f6f86a9831c196 category: main optional: false - name: jupyter_client @@ -3962,15 +3986,15 @@ package: dependencies: importlib-metadata: '>=4.8.3' jupyter_core: '>=4.12,!=5.0.*' - python: '>=3.8' + python: '>=3.9' python-dateutil: '>=2.8.2' pyzmq: '>=23.0' tornado: '>=6.2' traitlets: '>=5.3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda hash: - md5: a14218cfb29662b4a19ceb04e93e298e - sha256: 4419c85e209a715f551a5c9bead746f29ee9d0fc41e772a76db3868622795671 + md5: 4ebae00eae9705b0c3d6d1018a81d047 + sha256: 19d8bd5bb2fde910ec59e081eeb59529491995ce0d653a5209366611023a0b3a category: main optional: false - name: jupyter_client @@ -3980,15 +4004,15 @@ package: dependencies: importlib-metadata: '>=4.8.3' jupyter_core: '>=4.12,!=5.0.*' - python: '>=3.8' + python: '>=3.9' python-dateutil: '>=2.8.2' pyzmq: '>=23.0' tornado: '>=6.2' traitlets: '>=5.3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.3-pyhd8ed1ab_1.conda hash: - md5: a14218cfb29662b4a19ceb04e93e298e - sha256: 4419c85e209a715f551a5c9bead746f29ee9d0fc41e772a76db3868622795671 + md5: 4ebae00eae9705b0c3d6d1018a81d047 + sha256: 19d8bd5bb2fde910ec59e081eeb59529491995ce0d653a5209366611023a0b3a category: main optional: false - name: jupyter_core @@ -4024,45 +4048,47 @@ package: category: main optional: false - name: jupyter_events - version: 0.10.0 + version: 0.11.0 manager: conda platform: linux-64 dependencies: jsonschema-with-format-nongpl: '>=4.18.0' - python: '>=3.8' + packaging: '' + python: '>=3.9' python-json-logger: '>=2.0.4' pyyaml: '>=5.3' referencing: '' rfc3339-validator: '' rfc3986-validator: '>=0.1.1' traitlets: '>=5.3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda hash: - md5: ed45423c41b3da15ea1df39b1f80c2ca - sha256: cd3f41dc093162a41d4bae171e40a1b9b115c4d488e9bb837a8fa9d084931fb9 + md5: 2d8876ca6bda213622dfbc3d1da56ecb + sha256: eeb32aa58d37b130387628d5c151092f6d3fcf0a6964294bef06d6bac117f3c4 category: main optional: false - name: jupyter_events - version: 0.10.0 + version: 0.11.0 manager: conda platform: win-64 dependencies: jsonschema-with-format-nongpl: '>=4.18.0' - python: '>=3.8' + packaging: '' + python: '>=3.9' python-json-logger: '>=2.0.4' pyyaml: '>=5.3' referencing: '' rfc3339-validator: '' rfc3986-validator: '>=0.1.1' traitlets: '>=5.3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.11.0-pyhd8ed1ab_0.conda hash: - md5: ed45423c41b3da15ea1df39b1f80c2ca - sha256: cd3f41dc093162a41d4bae171e40a1b9b115c4d488e9bb837a8fa9d084931fb9 + md5: 2d8876ca6bda213622dfbc3d1da56ecb + sha256: eeb32aa58d37b130387628d5c151092f6d3fcf0a6964294bef06d6bac117f3c4 category: main optional: false - name: jupyter_server - version: 2.14.2 + version: 2.15.0 manager: conda platform: linux-64 dependencies: @@ -4071,28 +4097,28 @@ package: jinja2: '>=3.0.3' jupyter_client: '>=7.4.4' jupyter_core: '>=4.12,!=5.0.*' - jupyter_events: '>=0.9.0' + jupyter_events: '>=0.11.0' jupyter_server_terminals: '>=0.4.4' nbconvert-core: '>=6.4.4' nbformat: '>=5.3.0' overrides: '>=5.0' packaging: '>=22.0' prometheus_client: '>=0.9' - python: '>=3.8' + python: '>=3.9' pyzmq: '>=24' send2trash: '>=1.8.2' terminado: '>=0.8.3' tornado: '>=6.2.0' traitlets: '>=5.6.0' websocket-client: '>=1.7' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.15.0-pyhd8ed1ab_0.conda hash: - md5: ca23c71f70a7c7935b3d03f0f1a5801d - sha256: edab71a05feceac54bdb90e755a257545af7832b9911607c1a70f09be44ba985 + md5: 6ba8c206b5c6f52b82435056cf74ee46 + sha256: be5f9774065d94c4a988f53812b83b67618bec33fcaaa005a98067d506613f8a category: main optional: false - name: jupyter_server - version: 2.14.2 + version: 2.15.0 manager: conda platform: win-64 dependencies: @@ -4101,24 +4127,24 @@ package: jinja2: '>=3.0.3' jupyter_client: '>=7.4.4' jupyter_core: '>=4.12,!=5.0.*' - jupyter_events: '>=0.9.0' + jupyter_events: '>=0.11.0' jupyter_server_terminals: '>=0.4.4' nbconvert-core: '>=6.4.4' nbformat: '>=5.3.0' overrides: '>=5.0' packaging: '>=22.0' prometheus_client: '>=0.9' - python: '>=3.8' + python: '>=3.9' pyzmq: '>=24' send2trash: '>=1.8.2' terminado: '>=0.8.3' tornado: '>=6.2.0' traitlets: '>=5.6.0' websocket-client: '>=1.7' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.15.0-pyhd8ed1ab_0.conda hash: - md5: ca23c71f70a7c7935b3d03f0f1a5801d - sha256: edab71a05feceac54bdb90e755a257545af7832b9911607c1a70f09be44ba985 + md5: 6ba8c206b5c6f52b82435056cf74ee46 + sha256: be5f9774065d94c4a988f53812b83b67618bec33fcaaa005a98067d506613f8a category: main optional: false - name: jupyter_server_terminals @@ -4126,12 +4152,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' terminado: '>=0.8.3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda hash: - md5: 219b3833aa8ed91d47d1be6ca03f30be - sha256: 038efbc7e4b2e72d49ed193cfb2bbbe9fbab2459786ce9350301f466a32567db + md5: 2d983ff1b82a1ccb6f2e9d8784bdd6bd + sha256: 0890fc79422191bc29edf17d7b42cff44ba254aa225d31eb30819f8772b775b8 category: main optional: false - name: jupyter_server_terminals @@ -4139,16 +4165,16 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' terminado: '>=0.8.3' - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_1.conda hash: - md5: 219b3833aa8ed91d47d1be6ca03f30be - sha256: 038efbc7e4b2e72d49ed193cfb2bbbe9fbab2459786ce9350301f466a32567db + md5: 2d983ff1b82a1ccb6f2e9d8784bdd6bd + sha256: 0890fc79422191bc29edf17d7b42cff44ba254aa225d31eb30819f8772b775b8 category: main optional: false - name: jupyterlab - version: 4.2.6 + version: 4.3.4 manager: conda platform: linux-64 dependencies: @@ -4164,18 +4190,18 @@ package: notebook-shim: '>=0.2' packaging: '' python: '>=3.9' - setuptools: '>=40.1.0' + setuptools: '>=40.8.0' tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.2.6-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda hash: - md5: 8e8787ab1bc5210800aaae43c69973b1 - sha256: af085cc8d27fdcda4940de2391232b0be1e7fb0448bce0ec03035c0c878a6a80 + md5: edc13687180382b4444d9f143a2e1ef7 + sha256: bcf9fc0ea4bd6cf06a7a23b7f8b7bb7d8520eea8d0cdd6d3b975ede7793ed69b category: main optional: false - name: jupyterlab - version: 4.2.6 + version: 4.3.4 manager: conda platform: win-64 dependencies: @@ -4191,14 +4217,14 @@ package: notebook-shim: '>=0.2' packaging: '' python: '>=3.9' - setuptools: '>=40.1.0' + setuptools: '>=40.8.0' tomli: '>=1.2.2' tornado: '>=6.2.0' traitlets: '' - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.2.6-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.3.4-pyhd8ed1ab_0.conda hash: - md5: 8e8787ab1bc5210800aaae43c69973b1 - sha256: af085cc8d27fdcda4940de2391232b0be1e7fb0448bce0ec03035c0c878a6a80 + md5: edc13687180382b4444d9f143a2e1ef7 + sha256: bcf9fc0ea4bd6cf06a7a23b7f8b7bb7d8520eea8d0cdd6d3b975ede7793ed69b category: main optional: false - name: jupyterlab_pygments @@ -4207,11 +4233,11 @@ package: platform: linux-64 dependencies: pygments: '>=2.4.1,<3' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda hash: - md5: afcd1b53bcac8844540358e33f33d28f - sha256: 4aa622bbcf97e44cd1adf0100b7ff71b7e20268f043bdf6feae4d16152f1f242 + md5: fd312693df06da3578383232528c468d + sha256: dc24b900742fdaf1e077d9a3458fd865711de80bca95fe3c6d46610c532c6ef0 category: main optional: false - name: jupyterlab_pygments @@ -4220,11 +4246,11 @@ package: platform: win-64 dependencies: pygments: '>=2.4.1,<3' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda hash: - md5: afcd1b53bcac8844540358e33f33d28f - sha256: 4aa622bbcf97e44cd1adf0100b7ff71b7e20268f043bdf6feae4d16152f1f242 + md5: fd312693df06da3578383232528c468d + sha256: dc24b900742fdaf1e077d9a3458fd865711de80bca95fe3c6d46610c532c6ef0 category: main optional: false - name: jupyterlab_server @@ -4239,12 +4265,12 @@ package: jsonschema: '>=4.18' jupyter_server: '>=1.21,<3' packaging: '>=21.3' - python: '>=3.8' + python: '>=3.9' requests: '>=2.31' - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda hash: - md5: af8239bf1ba7e8c69b689f780f653488 - sha256: a23b26d1a35bccdb91b9232119e5f402624e1e1a252b0e64cc20c6eb5b87cefb + md5: 9dc4b2b0f41f0de41d27f3293e319357 + sha256: d03d0b7e23fa56d322993bc9786b3a43b88ccc26e58b77c756619a921ab30e86 category: main optional: false - name: jupyterlab_server @@ -4259,12 +4285,12 @@ package: jsonschema: '>=4.18' jupyter_server: '>=1.21,<3' packaging: '>=21.3' - python: '>=3.8' + python: '>=3.9' requests: '>=2.31' - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.3-pyhd8ed1ab_1.conda hash: - md5: af8239bf1ba7e8c69b689f780f653488 - sha256: a23b26d1a35bccdb91b9232119e5f402624e1e1a252b0e64cc20c6eb5b87cefb + md5: 9dc4b2b0f41f0de41d27f3293e319357 + sha256: d03d0b7e23fa56d322993bc9786b3a43b88ccc26e58b77c756619a921ab30e86 category: main optional: false - name: jupyterlab_widgets @@ -4292,7 +4318,7 @@ package: category: main optional: false - name: jupytext - version: 1.16.4 + version: 1.16.6 manager: conda platform: linux-64 dependencies: @@ -4300,17 +4326,17 @@ package: mdit-py-plugins: '' nbformat: '' packaging: '' - python: '>=3.8' + python: '>=3.9' pyyaml: '' tomli: '' - url: https://conda.anaconda.org/conda-forge/noarch/jupytext-1.16.4-pyh80e38bb_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupytext-1.16.6-pyh80e38bb_0.conda hash: - md5: 1df7fd1594a7f2f6496ff23834a099bf - sha256: e0e904bcc18a3b31dc79b05f98a3fd46c9e52b27e7942856f767f0c0b815ae15 + md5: f25972a8da0a44826594059a1bb4d82a + sha256: 8704b9547bf444b737f9ff6b9a8855e7ab0b83f2cee58dd913dfd7600a906b78 category: dev optional: true - name: jupytext - version: 1.16.4 + version: 1.16.6 manager: conda platform: win-64 dependencies: @@ -4318,13 +4344,13 @@ package: mdit-py-plugins: '' nbformat: '' packaging: '' - python: '>=3.8' + python: '>=3.9' pyyaml: '' tomli: '' - url: https://conda.anaconda.org/conda-forge/noarch/jupytext-1.16.4-pyh80e38bb_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/jupytext-1.16.6-pyh80e38bb_0.conda hash: - md5: 1df7fd1594a7f2f6496ff23834a099bf - sha256: e0e904bcc18a3b31dc79b05f98a3fd46c9e52b27e7942856f767f0c0b815ae15 + md5: f25972a8da0a44826594059a1bb4d82a + sha256: 8704b9547bf444b737f9ff6b9a8855e7ab0b83f2cee58dd913dfd7600a906b78 category: dev optional: true - name: jxrlib @@ -4503,11 +4529,11 @@ package: dependencies: importlib-metadata: '' packaging: '' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_2.conda hash: - md5: 4809b9f4c6ce106d443c3f90b8e10db2 - sha256: c1ca8dc910d7c32d431d8ef4acdea8da2e876c62f096b99591f712fd62cf7269 + md5: d10d9393680734a8febc4b362a4c94f2 + sha256: d7ea986507090fff801604867ef8e79c8fda8ec21314ba27c032ab18df9c3411 category: main optional: false - name: lazy-loader @@ -4517,11 +4543,11 @@ package: dependencies: importlib-metadata: '' packaging: '' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/lazy-loader-0.4-pyhd8ed1ab_2.conda hash: - md5: 4809b9f4c6ce106d443c3f90b8e10db2 - sha256: c1ca8dc910d7c32d431d8ef4acdea8da2e876c62f096b99591f712fd62cf7269 + md5: d10d9393680734a8febc4b362a4c94f2 + sha256: d7ea986507090fff801604867ef8e79c8fda8ec21314ba27c032ab18df9c3411 category: main optional: false - name: lazy_loader @@ -4530,11 +4556,11 @@ package: platform: linux-64 dependencies: lazy-loader: '0.4' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/lazy_loader-0.4-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/lazy_loader-0.4-pyhd8ed1ab_2.conda hash: - md5: ec6f70b8a5242936567d4f886726a372 - sha256: bf5a563f4e7d2bd5d3ec0644c0cb452b1e9e4ee68a221f6c9718872a22d4fa7a + md5: bb0230917e2473c77d615104dbe8a49d + sha256: e26803188a54cd90df9ce1983af70b287c4918c0fd178a9aabd9f1580f657a2b category: main optional: false - name: lazy_loader @@ -4543,11 +4569,11 @@ package: platform: win-64 dependencies: lazy-loader: '0.4' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/lazy_loader-0.4-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/lazy_loader-0.4-pyhd8ed1ab_2.conda hash: - md5: ec6f70b8a5242936567d4f886726a372 - sha256: bf5a563f4e7d2bd5d3ec0644c0cb452b1e9e4ee68a221f6c9718872a22d4fa7a + md5: bb0230917e2473c77d615104dbe8a49d + sha256: e26803188a54cd90df9ce1983af70b287c4918c0fd178a9aabd9f1580f657a2b category: main optional: false - name: lcms2 @@ -4868,16 +4894,17 @@ package: category: main optional: false - name: libcap - version: '2.69' + version: '2.71' manager: conda platform: linux-64 dependencies: + __glibc: '>=2.17,<3.0.a0' attr: '>=2.5.1,<2.6.0a0' - libgcc-ng: '>=12' - url: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.69-h0f662aa_0.conda + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.71-h39aace5_0.conda hash: - md5: 25cb5999faa414e5ccb2c1388f62d3d5 - sha256: 942f9564b4228609f017b6617425d29a74c43b8a030e12239fa4458e5cb6323c + md5: dd19e4e3043f6948bd7454b946ee0983 + sha256: 2bbefac94f4ab8ff7c64dc843238b6c8edcc9ff1f2b5a0a48407a904dc7ccfb2 category: main optional: false - name: libcblas @@ -5009,39 +5036,39 @@ package: category: main optional: false - name: libcurl - version: 8.10.1 + version: 8.11.1 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' krb5: '>=1.21.3,<1.22.0a0' libgcc: '>=13' - libnghttp2: '>=1.58.0,<2.0a0' - libssh2: '>=1.11.0,<2.0a0' + libnghttp2: '>=1.64.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' libzlib: '>=1.3.1,<2.0a0' - openssl: '>=3.3.2,<4.0a0' + openssl: '>=3.4.0,<4.0a0' zstd: '>=1.5.6,<1.6.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.10.1-hbbe4b11_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.11.1-h332b0f4_0.conda hash: - md5: 6e801c50a40301f6978c53976917b277 - sha256: 54e6114dfce566c3a22ad3b7b309657e3600cdb668398e95f1301360d5d52c99 + md5: 2b3e0081006dc21e8bf53a91c83a055c + sha256: 3cd4075b2a7b5562e46c8ec626f6f9ca57aeecaa94ff7df57eca26daa94c9906 category: main optional: false - name: libcurl - version: 8.10.1 + version: 8.11.1 manager: conda platform: win-64 dependencies: krb5: '>=1.21.3,<1.22.0a0' - libssh2: '>=1.11.0,<2.0a0' + libssh2: '>=1.11.1,<2.0a0' libzlib: '>=1.3.1,<2.0a0' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.10.1-h1ee3ff0_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libcurl-8.11.1-h88aaa65_0.conda hash: - md5: 7ead800e22ff7b4bccb73e42a8f7a0f4 - sha256: dfbac497c4fee74f67391f9c4a40cab559468b7d04ff9fad4b404a26b5e1d5b8 + md5: 071d3f18dba5a6a13c6bb70cdb42678f + sha256: 1a67f01da0e35296c6d1fdf6baddc45ad3cc2114132ff4638052eb7cf258aab2 category: main optional: false - name: libdeflate @@ -5077,10 +5104,10 @@ package: dependencies: numpy: '' python: '>=3.10' - url: https://conda.anaconda.org/conda-forge/noarch/libdlf-0.3.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/libdlf-0.3.0-pyhd8ed1ab_1.conda hash: - md5: ff65061dc3b6e12167fe5061f0845626 - sha256: 5fb56cb230682a7336136423340a70dc524291d8a20474778d740d4186f18c41 + md5: 2e9654bb2bcf5986c2def3ba35413326 + sha256: 367c575a6388380d9a0da6ff06571d903ae89366c42d9f16e32de5d359b6971a category: main optional: false - name: libdlf @@ -5090,23 +5117,24 @@ package: dependencies: numpy: '' python: '>=3.10' - url: https://conda.anaconda.org/conda-forge/noarch/libdlf-0.3.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/libdlf-0.3.0-pyhd8ed1ab_1.conda hash: - md5: ff65061dc3b6e12167fe5061f0845626 - sha256: 5fb56cb230682a7336136423340a70dc524291d8a20474778d740d4186f18c41 + md5: 2e9654bb2bcf5986c2def3ba35413326 + sha256: 367c575a6388380d9a0da6ff06571d903ae89366c42d9f16e32de5d359b6971a category: main optional: false - name: libedit - version: 3.1.20191231 + version: 3.1.20240808 manager: conda platform: linux-64 dependencies: - libgcc-ng: '>=7.5.0' - ncurses: '>=6.2,<7.0.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + ncurses: '>=6.5,<7.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20240808-pl5321h7949ede_0.conda hash: - md5: 4d331e44109e3f0e19b4cb8f9b82f3e1 - sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf + md5: 8247f80f3dc464d9322e85007e307fe8 + sha256: 4d0d69ddf9cc7d724a1ccf3a9852e44c8aea9825692582bac2c4e8d21ec95ccd category: main optional: false - name: libev @@ -5226,17 +5254,18 @@ package: sha256: 3a76969c80e9af8b6e7a55090088bc41da4cffcde9e2c71b17f44d37b7cb87f7 category: main optional: false -- name: libgcrypt +- name: libgcrypt-lib version: 1.11.0 manager: conda platform: linux-64 dependencies: - libgcc-ng: '>=12' - libgpg-error: '>=1.50,<2.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.11.0-h4ab18f5_1.conda + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libgpg-error: '>=1.51,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-lib-1.11.0-hb9d3cd8_2.conda hash: - md5: 14858a47d4cc995892e79f2b340682d7 - sha256: 9e97e4a753d2ee238cfc7375f0882830f0d8c1667431bc9d070a0f6718355570 + md5: e55712ff40a054134d51b89afca57dbc + sha256: ffc3602f9298da248786f46b00d0594d26a18feeb1b07ce88f3d7d61075e39e6 category: main optional: false - name: libgdal @@ -5786,6 +5815,62 @@ package: sha256: e71584c0f910140630580fdd0a013029a52fd31e435192aea2aa8d29005262d1 category: main optional: false +- name: liblzma + version: 5.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.6.3-hb9d3cd8_1.conda + hash: + md5: 2ecf2f1c7e4e21fcfe6423a51a992d84 + sha256: e6e425252f3839e2756e4af1ea2074dffd3396c161bf460629f9dfd6a65f15c6 + category: main + optional: false +- name: liblzma + version: 5.6.3 + manager: conda + platform: win-64 + dependencies: + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.6.3-h2466b09_1.conda + hash: + md5: 015b9c0bd1eef60729ab577a38aaf0b5 + sha256: 24d04bd55adfa44c421c99ce169df38cb1ad2bba5f43151bc847fc802496a1fa + category: main + optional: false +- name: liblzma-devel + version: 5.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + liblzma: 5.6.3 + url: https://conda.anaconda.org/conda-forge/linux-64/liblzma-devel-5.6.3-hb9d3cd8_1.conda + hash: + md5: cc4687e1814ed459f3bd6d8e05251ab2 + sha256: ca17f037a0a7137874597866a171166677e4812a9a8a853007f0f582e3ff6d1d + category: main + optional: false +- name: liblzma-devel + version: 5.6.3 + manager: conda + platform: win-64 + dependencies: + liblzma: 5.6.3 + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/liblzma-devel-5.6.3-h2466b09_1.conda + hash: + md5: 5f9978adba7aa8aa7d237cdb8b542537 + sha256: 771a99f8cd58358fe38192fc0df679cf6276facb8222016469693de7b0c8ff47 + category: main + optional: false - name: libnetcdf version: 4.9.2 manager: conda @@ -5905,21 +5990,21 @@ package: category: main optional: false - name: libpng - version: 1.6.44 + version: 1.6.45 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=13' libzlib: '>=1.3.1,<2.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.44-hadc24fc_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.45-h943b412_0.conda hash: - md5: f4cc49d7aa68316213e4b12be35308d1 - sha256: e5b14f7a01c2db4362d8591f42f82f336ed48d5e4079e4d1f65d0c2a3637ea78 + md5: 85cbdaacad93808395ac295b5667d25b + sha256: b8f5b5ba9a14dedf7c97c01300de492b1b52b68eacbc3249a13fdbfa82349a2f category: main optional: false - name: libpng - version: 1.6.44 + version: 1.6.45 manager: conda platform: win-64 dependencies: @@ -5927,10 +6012,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.44-h3ca93ac_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.45-had7236b_0.conda hash: - md5: 639ac6b55a40aa5de7b8c1b4d78f9e81 - sha256: 0d3d6ff9225f6918ac225e3839c0d91e5af1da08a4ebf59cac1bfd86018db945 + md5: 41fb9e522ec6e0b34a6f23c98b07e1cf + sha256: e39c4f1bc8fee08f6a2eb4a88174d14c3a99dbb4850c98f3a87eb83b4dabbfca category: main optional: false - name: libpq @@ -5958,10 +6043,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libpq-16.6-hab9416b_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libpq-16.6-h5b74ccd_1.conda hash: - md5: 896d5437e05324d513869cb35fe438c8 - sha256: dcdd1cf647307c461f08459c00b616b0847ddbd266245c497df2fd62aeab0cee + md5: bc0830c1e0a9be98df3e3da355ab218d + sha256: e7cfa2709a107e965c8f1851710c2ee47524fabf58535a47a49eb74d225aa1c6 category: main optional: false - name: libprotobuf @@ -6144,61 +6229,62 @@ package: category: main optional: false - name: libsqlite - version: 3.47.0 + version: 3.47.2 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=13' libzlib: '>=1.3.1,<2.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.2-hee588c1_0.conda hash: - md5: b6f02b52a174e612e89548f4663ce56a - sha256: 8a9aadf996a2399f65b679c6e7f29139d5059f699c63e6d7b50e20db10c00508 + md5: b58da17db24b6e08bcbf8fed2fb8c915 + sha256: 48af21ebc2cbf358976f1e0f4a0ab9e91dfc83d0ef337cf3837c6f5bc22fb352 category: main optional: false - name: libsqlite - version: 3.47.0 + version: 3.47.2 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.47.0-h2466b09_1.conda + url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.47.2-h67fdade_0.conda hash: - md5: 5b1f36012cc3d09c4eb9f24ad0e2c379 - sha256: 3342d6fe787f5830f7e8466d9c65c914bfd8d67220fb5673041b338cbba47afe + md5: ff00095330e0d35a16bd3bdbd1a2d3e7 + sha256: ecfc0182c3b2e63c870581be1fa0e4dbdfec70d2011cb4f5bde416ece26c41df category: main optional: false - name: libssh2 - version: 1.11.0 + version: 1.11.1 manager: conda platform: linux-64 dependencies: - libgcc-ng: '>=12' - libzlib: '>=1.2.13,<2.0.0a0' - openssl: '>=3.1.1,<4.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.4.0,<4.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-hf672d98_0.conda hash: - md5: 1f5a58e686b13bcfde88b93f547d23fe - sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d + md5: be2de152d8073ef1c01b7728475f2fe7 + sha256: 0407ac9fda2bb67e11e357066eff144c845801d00b5f664efbc48813af1e7bb9 category: main optional: false - name: libssh2 - version: 1.11.0 + version: 1.11.1 manager: conda platform: win-64 dependencies: - libzlib: '>=1.2.13,<2.0.0a0' - openssl: '>=3.1.1,<4.0a0' + libzlib: '>=1.3.1,<2.0a0' + openssl: '>=3.4.0,<4.0a0' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.0-h7dfc565_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libssh2-1.11.1-he619c9f_0.conda hash: - md5: dc262d03aae04fe26825062879141a41 - sha256: 813fd04eed2a2d5d9c36e53c554f9c1f08e9324e2922bd60c9c52dbbed2dbcec + md5: af0cbf037dd614c34399b3b3e568c557 + sha256: 4b3256bd2b4e4b3183005d3bd8826d651eccd1a4740b70625afa2b7e7123d191 category: main optional: false - name: libstdcxx @@ -6226,21 +6312,21 @@ package: category: main optional: false - name: libsystemd0 - version: '256.7' + version: '256.9' manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - libcap: '>=2.69,<2.70.0a0' + libcap: '>=2.71,<2.72.0a0' libgcc: '>=13' - libgcrypt: '>=1.11.0,<2.0a0' + libgcrypt-lib: '>=1.11.0,<2.0a0' lz4-c: '>=1.9.3,<1.10.0a0' xz: '>=5.2.6,<6.0a0' zstd: '>=1.5.6,<1.6.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-256.7-h2774228_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-256.9-h2774228_0.conda hash: - md5: ad328c530a12a8798776e5f03942090f - sha256: fa9cfbacaa2f14072b07ff9c832a8750627755346a1472f116a94aecea28f08e + md5: 7b283ff97a87409a884bc11283855c17 + sha256: a93e45c12c2954942a994ff3ffc8b9a144261288032da834ed80a6210708ad49 category: main optional: false - name: libtiff @@ -6341,18 +6427,18 @@ package: category: main optional: false - name: libwebp - version: 1.4.0 + version: 1.5.0 manager: conda platform: win-64 dependencies: - libwebp-base: '>=1.4.0,<2.0a0' + libwebp-base: '>=1.5.0,<2.0a0' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libwebp-1.4.0-h2466b09_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libwebp-1.5.0-h3b0e114_0.conda hash: - md5: 11334a8fb02041b453e2f89a4ae16f8d - sha256: ebabb57084e85cd09d529dbb4fe0f4db6cd0d369ad8095342c37b98855fd87fd + md5: 86f1ee21c7b65ae8204728729012bee2 + sha256: bde77580be7b9cc984503ec034690bc0dceab4e11bfb08c5984596d603252245 category: main optional: false - name: libwebp-base @@ -6368,17 +6454,17 @@ package: category: main optional: false - name: libwebp-base - version: 1.4.0 + version: 1.5.0 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.4.0-hcfcfb64_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.5.0-h3b0e114_0.conda hash: - md5: abd61d0ab127ec5cd68f62c2969e6f34 - sha256: d0ca51cb1de9192be9a3238e71fbcca5a535619c499c4f4c9b2ed41c14d36770 + md5: 33f7313967072c6e6d8f865f5493c7ae + sha256: 1d75274614e83a5750b8b94f7bad2fc0564c2312ff407e697d99152ed095576f category: main optional: false - name: libxcb @@ -6468,10 +6554,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.5-h442d1da_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.5-he286e8c_1.conda hash: - md5: 1fbabbec60a3c7c519a5973b06c3b2f4 - sha256: 020466b17c143190bd5a6540be2ceef4c1f8d514408bd5f0adaafcd9d0057b5c + md5: 77eaa84f90fc90643c5a0be0aa9bdd1b + sha256: 084dd4dde342f13c43ee418d153ac5b2610f95be029073a15fa9dda22b130d06 category: main optional: false - name: libxslt @@ -6593,12 +6679,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' + python: '>=3.9' uc-micro-py: '' - url: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.0.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.0.3-pyhd8ed1ab_1.conda hash: - md5: f1b64ca4faf563605cf6f6ca93f9ff3f - sha256: aa99d44e8c83865026575a8af253141c53e0b3ab05f053befaa7757c8525064f + md5: b02fe519b5dc0dc55e7299810fcdfb8e + sha256: d975a2015803d4fdaaae3f53e21f64996577d7a069eb61c6d2792504f16eb57b category: dev optional: true - name: linkify-it-py @@ -6606,24 +6692,24 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' + python: '>=3.9' uc-micro-py: '' - url: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.0.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/linkify-it-py-2.0.3-pyhd8ed1ab_1.conda hash: - md5: f1b64ca4faf563605cf6f6ca93f9ff3f - sha256: aa99d44e8c83865026575a8af253141c53e0b3ab05f053befaa7757c8525064f + md5: b02fe519b5dc0dc55e7299810fcdfb8e + sha256: d975a2015803d4fdaaae3f53e21f64996577d7a069eb61c6d2792504f16eb57b category: dev optional: true - name: llvm-openmp - version: 19.1.4 + version: 19.1.6 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - url: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-19.1.4-h024ca30_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-19.1.6-h024ca30_0.conda hash: - md5: 9370a10ba6a13079cc0c0e09d2ec13a8 - sha256: 5ef60133379c3146d369672d39729690cf0735116fc1a8b6b32788618199ce17 + md5: 96e42ccbd3c067c1713ff5f2d2169247 + sha256: 9e385c2a8169d951cf153221fb7fbb3dc8f1e5ac77371edee7329f8721dbe1ae category: main optional: false - name: llvmlite @@ -6817,10 +6903,10 @@ package: libgcc: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py310h89163eb_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.2-py310h89163eb_1.conda hash: - md5: 5415555830a54d9b4a1307e3e9d942c7 - sha256: cd30ab169cf8685a405d5ff65d6b6887603b5d3c9acfc844b5ff5ff09de21213 + md5: 8ce3f0332fd6de0d737e2911d329523f + sha256: 0bed20ec27dcbcaf04f02b2345358e1161fb338f8423a4ada1cf0f4d46918741 category: main optional: false - name: markupsafe @@ -6833,10 +6919,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.2-py310h38315fa_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.2-py310h38315fa_1.conda hash: - md5: d67a799792d5d5d7b1dcf6fd4e35c6c7 - sha256: 5b36e67eb43cafb8ea219aeda792a9623b1f5fb1778457f814442ed434e78c25 + md5: 79dfc050ae5a7dd4e63e392c984e2576 + sha256: deb8505b7ef76d363174d133e2ff814ae75b91ac4c3ae5550a7686897392f4d0 category: main optional: false - name: matplotlib-base @@ -6898,12 +6984,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' + python: '>=3.9' traitlets: '' - url: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda hash: - md5: 779345c95648be40d22aaa89de7d4254 - sha256: 7ea68676ea35fbb095420bbcc1c82c4767b8be7bb56abb6989b7f89d957a3bab + md5: af6ab708897df59bd6e7283ceab1b56b + sha256: 69b7dc7131703d3d60da9b0faa6dd8acbf6f6c396224cf6aef3e855b8c0c41c6 category: main optional: false - name: matplotlib-inline @@ -6911,12 +6997,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' + python: '>=3.9' traitlets: '' - url: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_1.conda hash: - md5: 779345c95648be40d22aaa89de7d4254 - sha256: 7ea68676ea35fbb095420bbcc1c82c4767b8be7bb56abb6989b7f89d957a3bab + md5: af6ab708897df59bd6e7283ceab1b56b + sha256: 69b7dc7131703d3d60da9b0faa6dd8acbf6f6c396224cf6aef3e855b8c0c41c6 category: main optional: false - name: mccabe @@ -6924,11 +7010,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda hash: - md5: 34fc335fc50eef0b5ea708f2b5f54e0c - sha256: 0466ad9490b761e9a8c57fab574fc099136b45fa19a0746ce33acdeb2a84766b + md5: 827064ddfe0de2917fb29f1da4f8f533 + sha256: 9b0037171dad0100f0296699a11ae7d355237b55f42f9094aebc0f41512d96a1 category: dev optional: true - name: mccabe @@ -6936,11 +7022,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_1.conda hash: - md5: 34fc335fc50eef0b5ea708f2b5f54e0c - sha256: 0466ad9490b761e9a8c57fab574fc099136b45fa19a0746ce33acdeb2a84766b + md5: 827064ddfe0de2917fb29f1da4f8f533 + sha256: 9b0037171dad0100f0296699a11ae7d355237b55f42f9094aebc0f41512d96a1 category: dev optional: true - name: mdit-py-plugins @@ -6949,11 +7035,11 @@ package: platform: linux-64 dependencies: markdown-it-py: '>=1.0.0,<4.0.0' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.2-pyhd8ed1ab_1.conda hash: - md5: 5387f2cfa28f8a3afa3368bb4ba201e8 - sha256: 5cedc99412278b37e9596f1f991d49f5a1663fe79767cf814a288134a1400ba9 + md5: af2060041d4f3250a7eb6ab3ec0e549b + sha256: c63ed79d9745109c0a70397713b0c07f06e7d3561abcb122cfc80a141ab3b449 category: dev optional: true - name: mdit-py-plugins @@ -6962,11 +7048,11 @@ package: platform: win-64 dependencies: markdown-it-py: '>=1.0.0,<4.0.0' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.2-pyhd8ed1ab_1.conda hash: - md5: 5387f2cfa28f8a3afa3368bb4ba201e8 - sha256: 5cedc99412278b37e9596f1f991d49f5a1663fe79767cf814a288134a1400ba9 + md5: af2060041d4f3250a7eb6ab3ec0e549b + sha256: c63ed79d9745109c0a70397713b0c07f06e7d3561abcb122cfc80a141ab3b449 category: dev optional: true - name: mdurl @@ -6974,11 +7060,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda hash: - md5: 776a8dd9e824f77abac30e6ef43a8f7a - sha256: 64073dfb6bb429d52fff30891877b48c7ec0f89625b1bf844905b66a81cce6e1 + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 category: dev optional: true - name: mdurl @@ -6986,11 +7072,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda hash: - md5: 776a8dd9e824f77abac30e6ef43a8f7a - sha256: 64073dfb6bb429d52fff30891877b48c7ec0f89625b1bf844905b66a81cce6e1 + md5: 592132998493b3ff25fd7479396e8351 + sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 category: dev optional: true - name: minizip @@ -6998,60 +7084,63 @@ package: manager: conda platform: linux-64 dependencies: + __glibc: '>=2.17,<3.0.a0' bzip2: '>=1.0.8,<2.0a0' - libgcc-ng: '>=12' + libgcc: '>=13' libiconv: '>=1.17,<2.0a0' - libstdcxx-ng: '>=12' + liblzma: '>=5.6.3,<6.0a0' + libstdcxx: '>=13' libzlib: '>=1.3.1,<2.0a0' - openssl: '>=3.3.1,<4.0a0' - xz: '>=5.2.6,<6.0a0' + openssl: '>=3.4.0,<4.0a0' zstd: '>=1.5.6,<1.6.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.0.7-h401b404_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/minizip-4.0.7-h05a5f5f_3.conda hash: - md5: 4474532a312b2245c5c77f1176989b46 - sha256: 6315ea87d094418e744deb79a22331718b36a0e6e107cd7fc3c52c7922bc8133 + md5: eec77634ccdb2ba6c231290c399b1dae + sha256: 9a9459024e9cdc68c799b057de021b8c652de542e24e9e48f2726578e822659c category: main optional: false - name: minizip - version: 4.0.6 + version: 4.0.7 manager: conda platform: win-64 dependencies: bzip2: '>=1.0.8,<2.0a0' - libzlib: '>=1.2.13,<2.0a0' + liblzma: '>=5.6.3,<6.0a0' + libzlib: '>=1.3.1,<2.0a0' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - xz: '>=5.2.6,<6.0a0' zstd: '>=1.5.6,<1.6.0a0' - url: https://conda.anaconda.org/conda-forge/win-64/minizip-4.0.6-hb638d1e_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/minizip-4.0.7-h9fa1bad_3.conda hash: - md5: 43e2b972e258a25a1e01790ad0e3287a - sha256: b334446aa40fe368ea816f5ee47145aea4408812a5a8d016db51923d7c465835 + md5: 632caee448c60ca5f85bf0748ed24401 + sha256: 16f329eac4551fe343f77a0c84cae5f9e68a0fb43a641e6ea2d8553053c3fa2e category: main optional: false - name: mistune - version: 3.0.2 + version: 3.1.0 manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda + python: '>=3.9' + typing_extensions: '' + url: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.0-pyhd8ed1ab_0.conda hash: - md5: 5cbee699846772cc939bef23a0d524ed - sha256: f95cb70007e3cc2ba44e17c29a056b499e6dadf08746706d0c817c8e2f47e05c + md5: d10024c163a52eeecbb166fdeaef8b12 + sha256: d932404dc610464130db5f36f59cd29947a687d9708daaad369d0020707de41a category: main optional: false - name: mistune - version: 3.0.2 + version: 3.1.0 manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda + python: '>=3.9' + typing_extensions: '' + url: https://conda.anaconda.org/conda-forge/noarch/mistune-3.1.0-pyhd8ed1ab_0.conda hash: - md5: 5cbee699846772cc939bef23a0d524ed - sha256: f95cb70007e3cc2ba44e17c29a056b499e6dadf08746706d0c817c8e2f47e05c + md5: d10024c163a52eeecbb166fdeaef8b12 + sha256: d932404dc610464130db5f36f59cd29947a687d9708daaad369d0020707de41a category: main optional: false - name: mkl @@ -7143,11 +7232,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/munch-4.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/munch-4.0.0-pyhd8ed1ab_1.conda hash: - md5: 376b32e8f9d3eacbd625f37d39bd507d - sha256: 093020ae2deb6c468120111a54909e1c576d70dfea6bc0eec5093e36d2fb8ff8 + md5: 7bdab6a71f575df952175f7825aea324 + sha256: af5038331294c7ec53a1f65e3fe65f24b1404be249e06fea74b7f302c9502186 category: main optional: false - name: munch @@ -7155,11 +7244,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/munch-4.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/munch-4.0.0-pyhd8ed1ab_1.conda hash: - md5: 376b32e8f9d3eacbd625f37d39bd507d - sha256: 093020ae2deb6c468120111a54909e1c576d70dfea6bc0eec5093e36d2fb8ff8 + md5: 7bdab6a71f575df952175f7825aea324 + sha256: af5038331294c7ec53a1f65e3fe65f24b1404be249e06fea74b7f302c9502186 category: main optional: false - name: munkres @@ -7233,10 +7322,10 @@ package: pyyaml: '' sphinx: '>=5' typing_extensions: '' - url: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.2-pyhd8ed1ab_1.conda hash: - md5: 38e1b2f0f62e9976cf9fe54a54258e3c - sha256: f3dbbcc61717a0a3078393147dae111f658b0b057568500b4c68fd15e80214c1 + md5: b78625bb0b4b144fe7048523a178986d + sha256: 0bc2fdde44340d93834983106fdacad5683c441ae5faa5450444e4ff8560f13b category: dev optional: true - name: myst-nb @@ -7255,10 +7344,10 @@ package: pyyaml: '' sphinx: '>=5' typing_extensions: '' - url: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.2-pyhd8ed1ab_1.conda hash: - md5: 38e1b2f0f62e9976cf9fe54a54258e3c - sha256: f3dbbcc61717a0a3078393147dae111f658b0b057568500b4c68fd15e80214c1 + md5: b78625bb0b4b144fe7048523a178986d + sha256: 0bc2fdde44340d93834983106fdacad5683c441ae5faa5450444e4ff8560f13b category: dev optional: true - name: myst-parser @@ -7300,7 +7389,7 @@ package: category: dev optional: true - name: nbclient - version: 0.10.0 + version: 0.10.2 manager: conda platform: linux-64 dependencies: @@ -7309,14 +7398,14 @@ package: nbformat: '>=5.1' python: '>=3.8' traitlets: '>=5.4' - url: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda hash: - md5: 15b51397e0fe8ea7d7da60d83eb76ebc - sha256: 589d72d36d61a23b39d6fff2c488f93e29e20de4fc6f5d315b5f2c16e81028bf + md5: 6bb0d77277061742744176ab555b723c + sha256: a20cff739d66c2f89f413e4ba4c6f6b59c50d5c30b5f0d840c13e8c9c2df9135 category: main optional: false - name: nbclient - version: 0.10.0 + version: 0.10.2 manager: conda platform: win-64 dependencies: @@ -7325,66 +7414,66 @@ package: nbformat: '>=5.1' python: '>=3.8' traitlets: '>=5.4' - url: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.2-pyhd8ed1ab_0.conda hash: - md5: 15b51397e0fe8ea7d7da60d83eb76ebc - sha256: 589d72d36d61a23b39d6fff2c488f93e29e20de4fc6f5d315b5f2c16e81028bf + md5: 6bb0d77277061742744176ab555b723c + sha256: a20cff739d66c2f89f413e4ba4c6f6b59c50d5c30b5f0d840c13e8c9c2df9135 category: main optional: false - name: nbconvert-core - version: 7.16.4 + version: 7.16.5 manager: conda platform: linux-64 dependencies: beautifulsoup4: '' - bleach: '' + bleach-with-css: '!=5.0.0' defusedxml: '' entrypoints: '>=0.2.2' + importlib-metadata: '>=3.6' jinja2: '>=3.0' jupyter_core: '>=4.7' jupyterlab_pygments: '' markupsafe: '>=2.0' mistune: '>=2.0.3,<4' nbclient: '>=0.5.0' - nbformat: '>=5.1' + nbformat: '>=5.7' packaging: '' pandocfilters: '>=1.4.1' pygments: '>=2.4.1' - python: '>=3.8' - tinycss2: '' - traitlets: '>=5.0' - url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_1.conda + python: '>=3.9' + traitlets: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.5-pyhd8ed1ab_1.conda hash: - md5: e2d2abb421c13456a9a9f80272fdf543 - sha256: 074d858c5808e0a832acc0da37cd70de1565e8d6e17a62d5a11b3902b5e78319 + md5: dd50a122c5b9782b1e9b2695473bfd95 + sha256: 9eed80365c012ab3bbb0f0ed1446af496d6810063dfa07dde33ae4a6d8a392ef category: main optional: false - name: nbconvert-core - version: 7.16.4 + version: 7.16.5 manager: conda platform: win-64 dependencies: beautifulsoup4: '' - bleach: '' + bleach-with-css: '!=5.0.0' defusedxml: '' entrypoints: '>=0.2.2' + importlib-metadata: '>=3.6' jinja2: '>=3.0' jupyter_core: '>=4.7' jupyterlab_pygments: '' markupsafe: '>=2.0' mistune: '>=2.0.3,<4' nbclient: '>=0.5.0' - nbformat: '>=5.1' + nbformat: '>=5.7' packaging: '' pandocfilters: '>=1.4.1' pygments: '>=2.4.1' - python: '>=3.8' - tinycss2: '' - traitlets: '>=5.0' - url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_1.conda + python: '>=3.9' + traitlets: '>=5.1' + url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.5-pyhd8ed1ab_1.conda hash: - md5: e2d2abb421c13456a9a9f80272fdf543 - sha256: 074d858c5808e0a832acc0da37cd70de1565e8d6e17a62d5a11b3902b5e78319 + md5: dd50a122c5b9782b1e9b2695473bfd95 + sha256: 9eed80365c012ab3bbb0f0ed1446af496d6810063dfa07dde33ae4a6d8a392ef category: main optional: false - name: nbformat @@ -7394,13 +7483,13 @@ package: dependencies: jsonschema: '>=2.6' jupyter_core: '>=4.12,!=5.0.*' - python: '>=3.8' + python: '>=3.9' python-fastjsonschema: '>=2.15' traitlets: '>=5.1' - url: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda hash: - md5: 0b57b5368ab7fc7cdc9e3511fa867214 - sha256: 36fe73da4d37bc7ac2d1540526ecd294fbd09acda04e096181ab8f1ccd2b464c + md5: bbe1963f1e47f594070ffe87cdf612ea + sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 category: main optional: false - name: nbformat @@ -7410,13 +7499,13 @@ package: dependencies: jsonschema: '>=2.6' jupyter_core: '>=4.12,!=5.0.*' - python: '>=3.8' + python: '>=3.9' python-fastjsonschema: '>=2.15' traitlets: '>=5.1' - url: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda hash: - md5: 0b57b5368ab7fc7cdc9e3511fa867214 - sha256: 36fe73da4d37bc7ac2d1540526ecd294fbd09acda04e096181ab8f1ccd2b464c + md5: bbe1963f1e47f594070ffe87cdf612ea + sha256: 7a5bd30a2e7ddd7b85031a5e2e14f290898098dc85bea5b3a5bf147c25122838 category: main optional: false - name: ncurses @@ -7425,11 +7514,11 @@ package: platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' - libgcc-ng: '>=12' - url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda + libgcc: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_2.conda hash: - md5: 70caf8bb6cf39a0b6b7efc885f51c0fe - sha256: 6a1d5d8634c1a07913f1c525db6455918cbc589d745fac46d9d6e30340c8731a + md5: 04b34b9a40cdc48cfdab261ab176ff74 + sha256: 17fe6afd8a00446010220d52256bd222b1e4fcb93bd587e7784b03219f3dc358 category: main optional: false - name: nest-asyncio @@ -7437,11 +7526,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda hash: - md5: 6598c056f64dc8800d40add25e4e2c34 - sha256: 30db21d1f7e59b3408b831a7e0417b83b53ee6223afae56482c5f26da3ceb49a + md5: 598fd7d4d0de2455fb74f56063969a97 + sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 category: main optional: false - name: nest-asyncio @@ -7449,11 +7538,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda hash: - md5: 6598c056f64dc8800d40add25e4e2c34 - sha256: 30db21d1f7e59b3408b831a7e0417b83b53ee6223afae56482c5f26da3ceb49a + md5: 598fd7d4d0de2455fb74f56063969a97 + sha256: bb7b21d7fd0445ddc0631f64e66d91a179de4ba920b8381f29b9d006a42788c0 category: main optional: false - name: networkx @@ -7481,37 +7570,39 @@ package: category: main optional: false - name: notebook - version: 7.2.2 + version: 7.3.2 manager: conda platform: linux-64 dependencies: + importlib_resources: '>=5.0' jupyter_server: '>=2.4.0,<3' - jupyterlab: '>=4.2.0,<4.3' + jupyterlab: '>=4.3.4,<4.4' jupyterlab_server: '>=2.27.1,<3' notebook-shim: '>=0.2,<0.3' - python: '>=3.8' + python: '>=3.9' tornado: '>=6.2.0' - url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.2.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.3.2-pyhd8ed1ab_0.conda hash: - md5: c4d5a58f43ce9ffa430e6ecad6c30a42 - sha256: 613242d5151a4d70438bb2d65041c509e4376b7e18c06c3795c52a18176e41dc + md5: 48b0461a947a0537427fc836b9bd2d33 + sha256: 07138543549d6672376115a000c5fd26c3711f0b2b5c9464889bccfe711d8e59 category: main optional: false - name: notebook - version: 7.2.2 + version: 7.3.2 manager: conda platform: win-64 dependencies: + importlib_resources: '>=5.0' jupyter_server: '>=2.4.0,<3' - jupyterlab: '>=4.2.0,<4.3' + jupyterlab: '>=4.3.4,<4.4' jupyterlab_server: '>=2.27.1,<3' notebook-shim: '>=0.2,<0.3' - python: '>=3.8' + python: '>=3.9' tornado: '>=6.2.0' - url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.2.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.3.2-pyhd8ed1ab_0.conda hash: - md5: c4d5a58f43ce9ffa430e6ecad6c30a42 - sha256: 613242d5151a4d70438bb2d65041c509e4376b7e18c06c3795c52a18176e41dc + md5: 48b0461a947a0537427fc836b9bd2d33 + sha256: 07138543549d6672376115a000c5fd26c3711f0b2b5c9464889bccfe711d8e59 category: main optional: false - name: notebook-shim @@ -7520,11 +7611,11 @@ package: platform: linux-64 dependencies: jupyter_server: '>=1.8,<3' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda hash: - md5: 3d85618e2c97ab896b5b5e298d32b5b3 - sha256: 9b5fdef9ebe89222baa9da2796ebe7bc02ec6c5a1f61327b651d6b92cf9a0230 + md5: e7f89ea5f7ea9401642758ff50a2d9c1 + sha256: 7b920e46b9f7a2d2aa6434222e5c8d739021dbc5cc75f32d124a8191d86f9056 category: main optional: false - name: notebook-shim @@ -7533,11 +7624,11 @@ package: platform: win-64 dependencies: jupyter_server: '>=1.8,<3' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda hash: - md5: 3d85618e2c97ab896b5b5e298d32b5b3 - sha256: 9b5fdef9ebe89222baa9da2796ebe7bc02ec6c5a1f61327b651d6b92cf9a0230 + md5: e7f89ea5f7ea9401642758ff50a2d9c1 + sha256: 7b920e46b9f7a2d2aa6434222e5c8d739021dbc5cc75f32d124a8191d86f9056 category: main optional: false - name: nspr @@ -7721,10 +7812,10 @@ package: __glibc: '>=2.17,<3.0.a0' ca-certificates: '' libgcc: '>=13' - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.4.0-hb9d3cd8_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.4.0-h7b32b05_1.conda hash: - md5: 23cc74f77eb99315c0360ec3533147a9 - sha256: 814b9dff1847b132c676ee6cc1a8cb2d427320779b93e1b6d76552275c128705 + md5: 4ce6875f75469b2757a65e10a5d05e31 + sha256: f62f6bca4a33ca5109b6d571b052a394d836956d21b25b7ffd03376abf7a481f category: main optional: false - name: openssl @@ -7736,10 +7827,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/openssl-3.4.0-h2466b09_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/openssl-3.4.0-ha4e3fda_1.conda hash: - md5: d0d805d9b5524a14efb51b3bff965e83 - sha256: e03045a0837e01ff5c75e9273a572553e7522290799807f918c917a9826a6484 + md5: fb45308ba8bfe1abf1f4a27bad24a743 + sha256: 519a06eaab7c878fbebb8cab98ea4a4465eafb1e9ed8c6ce67226068a80a92f0 category: main optional: false - name: overrides @@ -7747,12 +7838,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' + python: '>=3.9' typing_utils: '' - url: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda hash: - md5: 24fba5a9d161ad8103d4e84c0e1a3ed4 - sha256: 5e238e5e646414d517a13f6786c7227206ace58271e3ef63f6adca4d6a4c2839 + md5: e51f1e4089cad105b6cac64bd8166587 + sha256: 1840bd90d25d4930d60f57b4f38d4e0ae3f5b8db2819638709c36098c6ba770c category: main optional: false - name: overrides @@ -7760,12 +7851,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' + python: '>=3.9' typing_utils: '' - url: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda hash: - md5: 24fba5a9d161ad8103d4e84c0e1a3ed4 - sha256: 5e238e5e646414d517a13f6786c7227206ace58271e3ef63f6adca4d6a4c2839 + md5: e51f1e4089cad105b6cac64bd8166587 + sha256: 1840bd90d25d4930d60f57b4f38d4e0ae3f5b8db2819638709c36098c6ba770c category: main optional: false - name: packaging @@ -7774,10 +7865,10 @@ package: platform: linux-64 dependencies: python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhff2d567_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda hash: - md5: 8508b703977f4c4ada34d657d051972c - sha256: 74843f871e5cd8a1baf5ed8c406c571139c287141efe532f8ffbdafa3664d244 + md5: 3bfed7e6228ebf2f7b9eaa47f1b4e2aa + sha256: da157b19bcd398b9804c5c52fc000fcb8ab0525bdb9c70f95beaa0bb42f85af1 category: main optional: false - name: packaging @@ -7786,10 +7877,10 @@ package: platform: win-64 dependencies: python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhff2d567_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda hash: - md5: 8508b703977f4c4ada34d657d051972c - sha256: 74843f871e5cd8a1baf5ed8c406c571139c287141efe532f8ffbdafa3664d244 + md5: 3bfed7e6228ebf2f7b9eaa47f1b4e2aa + sha256: da157b19bcd398b9804c5c52fc000fcb8ab0525bdb9c70f95beaa0bb42f85af1 category: main optional: false - name: pandas @@ -7861,11 +7952,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda hash: - md5: 81534b420deb77da8833f2289b8d47ac - sha256: bfe404eebb930cc41782d34f8fc04c0388ea692eeebe2c5fc28df8ec8d4d61ae + md5: 5c092057b6badd30f75b06244ecd01c9 + sha256: 17131120c10401a99205fc6fe436e7903c0fa092f1b3e80452927ab377239bcc category: main optional: false - name: parso @@ -7873,11 +7964,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_1.conda hash: - md5: 81534b420deb77da8833f2289b8d47ac - sha256: bfe404eebb930cc41782d34f8fc04c0388ea692eeebe2c5fc28df8ec8d4d61ae + md5: 5c092057b6badd30f75b06244ecd01c9 + sha256: 17131120c10401a99205fc6fe436e7903c0fa092f1b3e80452927ab377239bcc category: main optional: false - name: partd @@ -7944,11 +8035,11 @@ package: platform: linux-64 dependencies: ptyprocess: '>=0.5' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda hash: - md5: 629f3203c99b32e0988910c93e77f3b6 - sha256: 90a09d134a4a43911b716d4d6eb9d169238aff2349056f7323d9db613812667e + md5: d0d408b1f18883a944376da5cf8101ea + sha256: 202af1de83b585d36445dc1fda94266697341994d1a3328fabde4989e1b3d07a category: main optional: false - name: pickleshare @@ -7956,11 +8047,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3' - url: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda hash: - md5: 415f0ebb6198cc2801c73438a9fb5761 - sha256: a1ed1a094dd0d1b94a09ed85c283a0eb28943f2e6f22161fb45e128d35229738 + md5: 11a9d1d09a3615fc07c3faf79bc0b943 + sha256: e2ac3d66c367dada209fc6da43e645672364b9fd5f9d28b9f016e24b81af475b category: main optional: false - name: pickleshare @@ -7968,11 +8059,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3' - url: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-pyhd8ed1ab_1004.conda hash: - md5: 415f0ebb6198cc2801c73438a9fb5761 - sha256: a1ed1a094dd0d1b94a09ed85c283a0eb28943f2e6f22161fb45e128d35229738 + md5: 11a9d1d09a3615fc07c3faf79bc0b943 + sha256: e2ac3d66c367dada209fc6da43e645672364b9fd5f9d28b9f016e24b81af475b category: main optional: false - name: pillow @@ -8028,13 +8119,13 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8,<3.13.0a0' + python: '>=3.9,<3.13.0a0' setuptools: '' wheel: '' - url: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda hash: - md5: 5dd546fe99b44fda83963d15f84263b7 - sha256: 499313e72e20225f84c2e9690bbaf5b952c8d7e0bf34b728278538f766b81628 + md5: 04e691b9fadd93a8a9fad87a81d4fd8f + sha256: da8c8888de10c1e4234ebcaa1550ac2b4b5408ac20f093fe641e4bc8c9c9f3eb category: main optional: false - name: pip @@ -8042,40 +8133,41 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8,<3.13.0a0' + python: '>=3.9,<3.13.0a0' setuptools: '' wheel: '' - url: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pip-24.3.1-pyh8b19718_2.conda hash: - md5: 5dd546fe99b44fda83963d15f84263b7 - sha256: 499313e72e20225f84c2e9690bbaf5b952c8d7e0bf34b728278538f766b81628 + md5: 04e691b9fadd93a8a9fad87a81d4fd8f + sha256: da8c8888de10c1e4234ebcaa1550ac2b4b5408ac20f093fe641e4bc8c9c9f3eb category: main optional: false - name: pixman - version: 0.43.2 + version: 0.44.2 manager: conda platform: linux-64 dependencies: - libgcc-ng: '>=12' - libstdcxx-ng: '>=12' - url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + libstdcxx: '>=13' + url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.44.2-h29eaf8c_0.conda hash: - md5: 71004cbf7924e19c02746ccde9fd7123 - sha256: 366d28e2a0a191d6c535e234741e0cd1d94d713f76073d8af4a5ccb2a266121e + md5: 5e2a7acfa2c24188af39e7944e1b3604 + sha256: 747c58db800d5583fee78e76240bf89cbaeedf7ab1ef339c2990602332b9c4be category: main optional: false - name: pixman - version: 0.43.4 + version: 0.44.2 manager: conda platform: win-64 dependencies: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/pixman-0.43.4-h63175ca_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/pixman-0.44.2-had0cd8c_0.conda hash: - md5: b98135614135d5f458b75ab9ebb9558c - sha256: 51de4d7fb41597b06d60f1b82e269dafcb55e994e08fdcca8e4d6f7d42bedd07 + md5: c720ac9a3bd825bf8b4dc7523ea49be4 + sha256: 6648bd6e050f37c062ced1bbd4201dee617c3dacda1fc3a0de70335cf736f11b category: main optional: false - name: pkgutil-resolve-name @@ -8083,11 +8175,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda hash: - md5: 405678b942f2481cecdb3e010f4925d9 - sha256: fecf95377134b0e8944762d92ecf7b0149c07d8186fb5db583125a2705c7ea0a + md5: 5a5870a74432aa332f7d32180633ad05 + sha256: adb2dde5b4f7da70ae81309cce6188ed3286ff280355cf1931b45d91164d2ad8 category: main optional: false - name: pkgutil-resolve-name @@ -8095,11 +8187,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_2.conda hash: - md5: 405678b942f2481cecdb3e010f4925d9 - sha256: fecf95377134b0e8944762d92ecf7b0149c07d8186fb5db583125a2705c7ea0a + md5: 5a5870a74432aa332f7d32180633ad05 + sha256: adb2dde5b4f7da70ae81309cce6188ed3286ff280355cf1931b45d91164d2ad8 category: main optional: false - name: platformdirs @@ -8107,11 +8199,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda hash: - md5: fd8f2b18b65bbf62e8f653100690c8d2 - sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f + md5: 577852c7e53901ddccc7e6a9959ddebe + sha256: bb50f6499e8bc1d1a26f17716c97984671121608dc0c3ecd34858112bce59a27 category: main optional: false - name: platformdirs @@ -8119,11 +8211,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_1.conda hash: - md5: fd8f2b18b65bbf62e8f653100690c8d2 - sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f + md5: 577852c7e53901ddccc7e6a9959ddebe + sha256: bb50f6499e8bc1d1a26f17716c97984671121608dc0c3ecd34858112bce59a27 category: main optional: false - name: plotly @@ -8159,11 +8251,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda hash: - md5: d3483c8fc2dc2cc3f5cf43e26d60cabf - sha256: 33eaa3359948a260ebccf9cdc2fd862cea5a6029783289e13602d8e634cd9a26 + md5: e9dcbce5f45f9ee500e728ae58b605b6 + sha256: 122433fc5318816b8c69283aaf267c73d87aa2d09ce39f64c9805c9a3b264819 category: dev optional: true - name: pluggy @@ -8171,11 +8263,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda hash: - md5: d3483c8fc2dc2cc3f5cf43e26d60cabf - sha256: 33eaa3359948a260ebccf9cdc2fd862cea5a6029783289e13602d8e634cd9a26 + md5: e9dcbce5f45f9ee500e728ae58b605b6 + sha256: 122433fc5318816b8c69283aaf267c73d87aa2d09ce39f64c9805c9a3b264819 category: dev optional: true - name: ply @@ -8183,11 +8275,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=2.6' - url: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_2.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda hash: - md5: 18c6deb6f9602e32446398203c8f0e91 - sha256: d8faaf4dcc13caed560fa32956523b35928a70499a2d08c51320947d637e3a41 + md5: fd5062942bfa1b0bd5e0d2a4397b099e + sha256: bae453e5cecf19cab23c2e8929c6e30f4866d996a8058be16c797ed4b935461f category: main optional: false - name: ply @@ -8195,11 +8287,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=2.6' - url: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_2.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_3.conda hash: - md5: 18c6deb6f9602e32446398203c8f0e91 - sha256: d8faaf4dcc13caed560fa32956523b35928a70499a2d08c51320947d637e3a41 + md5: fd5062942bfa1b0bd5e0d2a4397b099e + sha256: bae453e5cecf19cab23c2e8929c6e30f4866d996a8058be16c797ed4b935461f category: main optional: false - name: poppler @@ -8313,10 +8405,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/postgresql-16.6-hd835ec0_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/postgresql-16.6-h5b59834_1.conda hash: - md5: a58c69ae4897093da5e760ff2bcd0e09 - sha256: d10153770e90d00db0d531da0ccb67b9603ce7af122d2fbecfaee7b0f388e848 + md5: 61369536819f7e8bda68189707bc1165 + sha256: d9697b083d8021d0deadddf55721034a9df90397edaa3ceba501d4574818ae9a category: main optional: false - name: proj @@ -8355,27 +8447,27 @@ package: category: main optional: false - name: prometheus_client - version: 0.21.0 + version: 0.21.1 manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.1-pyhd8ed1ab_0.conda hash: - md5: 07e9550ddff45150bfc7da146268e165 - sha256: 01f0c3dd00081637ed920a922b17bcc8ed49608404ee466ced806856e671f6b9 + md5: 3e01e386307acc60b2f89af0b2e161aa + sha256: bc8f00d5155deb7b47702cb8370f233935704100dbc23e30747c161d1b6cf3ab category: main optional: false - name: prometheus_client - version: 0.21.0 + version: 0.21.1 manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.21.1-pyhd8ed1ab_0.conda hash: - md5: 07e9550ddff45150bfc7da146268e165 - sha256: 01f0c3dd00081637ed920a922b17bcc8ed49608404ee466ced806856e671f6b9 + md5: 3e01e386307acc60b2f89af0b2e161aa + sha256: bc8f00d5155deb7b47702cb8370f233935704100dbc23e30747c161d1b6cf3ab category: main optional: false - name: prompt-toolkit @@ -8383,12 +8475,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' + python: '>=3.9' wcwidth: '' - url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_1.conda hash: - md5: 4c05134c48b6a74f33bbb9938e4a115e - sha256: 44e4e6108d425a666856a52d1523e5d70890256a8920bb0dcd3d55cc750f3207 + md5: 368d4aa48358439e07a97ae237491785 + sha256: 79fb7d1eeb490d4cc1b79f781bb59fe302ae38cf0a30907ecde75a7d399796cc category: main optional: false - name: prompt-toolkit @@ -8396,12 +8488,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' + python: '>=3.9' wcwidth: '' - url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.48-pyha770c72_1.conda hash: - md5: 4c05134c48b6a74f33bbb9938e4a115e - sha256: 44e4e6108d425a666856a52d1523e5d70890256a8920bb0dcd3d55cc750f3207 + md5: 368d4aa48358439e07a97ae237491785 + sha256: 79fb7d1eeb490d4cc1b79f781bb59fe302ae38cf0a30907ecde75a7d399796cc category: main optional: false - name: properties @@ -8435,7 +8527,7 @@ package: category: main optional: false - name: psutil - version: 6.1.0 + version: 6.1.1 manager: conda platform: linux-64 dependencies: @@ -8443,14 +8535,14 @@ package: libgcc: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.0-py310ha75aee5_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.1-py310ha75aee5_0.conda hash: - md5: a42a2ed94df11c5cfa5348a317e1f197 - sha256: d51ffcb07e820b281723d4c0838764faef4061ec1ec306d4f091796bf9411987 + md5: 00838ea1d4e87b1e6e2552bba98cc899 + sha256: a643a57e5338fb3a154c5d57fdc72d80170cf7868f20acbbeedde014195f0d92 category: main optional: false - name: psutil - version: 6.1.0 + version: 6.1.1 manager: conda platform: win-64 dependencies: @@ -8459,10 +8551,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/psutil-6.1.0-py310ha8f682b_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/psutil-6.1.1-py310ha8f682b_0.conda hash: - md5: 4e5ed46bab4ca903c94ef4775ec0da68 - sha256: ef77ead9f21fed3de1e71b7af9c19198683454526ddc6ff62045fdbe0042723f + md5: e7da623f94edbf9c66f816bee03432a2 + sha256: 88ed52584b3d838ec10c10ad445823bb9b52a0002071e79c9bb63433ff934026 category: main optional: false - name: pthread-stubs @@ -8509,11 +8601,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda hash: - md5: 359eeb6536da0e687af562ed265ec263 - sha256: fb31e006a25eb2e18f3440eb8d17be44c8ccfae559499199f73584566d0a444a + md5: 7d9daffbb8d8e0af0f769dbbcd173a54 + sha256: a7713dfe30faf17508ec359e0bc7e0983f5d94682492469bd462cdaae9c64d83 category: main optional: false - name: pulseaudio-client @@ -8537,11 +8629,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda hash: - md5: 0f051f09d992e0d08941706ad519ee0e - sha256: dcfcb3cee1ae0a89729601582cc3edea20ba13c9493967a03a693c67567af0c8 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 category: main optional: false - name: pure_eval @@ -8549,11 +8641,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda hash: - md5: 0f051f09d992e0d08941706ad519ee0e - sha256: dcfcb3cee1ae0a89729601582cc3edea20ba13c9493967a03a693c67567af0c8 + md5: 3bfdfb8dbcdc4af1ae3f9a8eb3948f04 + sha256: 71bd24600d14bb171a6321d523486f6a06f855e75e547fa0cb2a0953b02047f0 category: main optional: false - name: pybtex @@ -8562,14 +8654,14 @@ package: platform: linux-64 dependencies: latexcodec: '>=1.0.4' - python: '>=3.6' + python: '>=3.9' pyyaml: '>=3.01' setuptools: '' six: '' - url: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.24.0-pyhd8ed1ab_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.24.0-pyhd8ed1ab_3.conda hash: - md5: 2099b86a7399c44c0c61cdb6de6915ba - sha256: 258fbf46050bbd51fbaa504116e56e8f3064156f0e08cad4e2fec97f5f29e6dc + md5: 556a52a96313364aa79990ed1337b9a5 + sha256: c87615fcc7327c5dcc247f309731c98f7b9867a48e6265e9584af6dc8cd82345 category: dev optional: true - name: pybtex @@ -8578,14 +8670,14 @@ package: platform: win-64 dependencies: latexcodec: '>=1.0.4' - python: '>=3.6' + python: '>=3.9' pyyaml: '>=3.01' setuptools: '' six: '' - url: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.24.0-pyhd8ed1ab_2.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pybtex-0.24.0-pyhd8ed1ab_3.conda hash: - md5: 2099b86a7399c44c0c61cdb6de6915ba - sha256: 258fbf46050bbd51fbaa504116e56e8f3064156f0e08cad4e2fec97f5f29e6dc + md5: 556a52a96313364aa79990ed1337b9a5 + sha256: c87615fcc7327c5dcc247f309731c98f7b9867a48e6265e9584af6dc8cd82345 category: dev optional: true - name: pybtex-docutils @@ -8625,11 +8717,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda hash: - md5: 844d9eb3b43095b031874477f7d70088 - sha256: 406001ebf017688b1a1554b49127ca3a4ac4626ec0fd51dc75ffa4415b720b64 + md5: 12c566707c80111f9799308d9e265aef + sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 category: main optional: false - name: pycparser @@ -8637,47 +8729,47 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda + python: '' + url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda hash: - md5: 844d9eb3b43095b031874477f7d70088 - sha256: 406001ebf017688b1a1554b49127ca3a4ac4626ec0fd51dc75ffa4415b720b64 + md5: 12c566707c80111f9799308d9e265aef + sha256: 79db7928d13fab2d892592223d7570f5061c192f27b9febd1a418427b719acc6 category: main optional: false - name: pydantic - version: 2.10.1 + version: 2.10.5 manager: conda platform: linux-64 dependencies: annotated-types: '>=0.6.0' - pydantic-core: 2.27.1 + pydantic-core: 2.27.2 python: '>=3.9' typing-extensions: '>=4.6.1' typing_extensions: '>=4.12.2' - url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.1-pyh10f6f8f_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.5-pyh3cfb1c2_0.conda hash: - md5: c15343c9dbdb30766a07e5b70e46c7d3 - sha256: b1872231d26ee3ded32bd1fe3ee1b3c7d9834ad72bf28aed70e5cd1235341584 + md5: e8ea30925c8271c4128375810d7d3d7a + sha256: 0f32c30ddc610cd1113335d8b4f311f20f4d72754b7c1a5d0d9493f597cf11d2 category: main optional: false - name: pydantic - version: 2.10.1 + version: 2.10.5 manager: conda platform: win-64 dependencies: annotated-types: '>=0.6.0' - pydantic-core: 2.27.1 + pydantic-core: 2.27.2 python: '>=3.9' typing-extensions: '>=4.6.1' typing_extensions: '>=4.12.2' - url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.1-pyh10f6f8f_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.10.5-pyh3cfb1c2_0.conda hash: - md5: c15343c9dbdb30766a07e5b70e46c7d3 - sha256: b1872231d26ee3ded32bd1fe3ee1b3c7d9834ad72bf28aed70e5cd1235341584 + md5: e8ea30925c8271c4128375810d7d3d7a + sha256: 0f32c30ddc610cd1113335d8b4f311f20f4d72754b7c1a5d0d9493f597cf11d2 category: main optional: false - name: pydantic-core - version: 2.27.1 + version: 2.27.2 manager: conda platform: linux-64 dependencies: @@ -8686,14 +8778,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* typing-extensions: '>=4.6.0,!=4.7.0' - url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.27.1-py310h505e2c1_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.27.2-py310h505e2c1_0.conda hash: - md5: 9493c5caf801dfc328f74c1000e9be4e - sha256: 74078f74b6d1509df6f3eb587ede3a54b1cf55acf772370735d8364c3f0b347c + md5: 3f804346d970a0343c46afc21cf5f16e + sha256: 6c58cdbb007f2dc8b0a8d96eacaba45bedf6ddfe9ed4558c40f899cb3438f3cb category: main optional: false - name: pydantic-core - version: 2.27.1 + version: 2.27.2 manager: conda platform: win-64 dependencies: @@ -8703,10 +8795,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.27.1-py310hc226416_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/pydantic-core-2.27.2-py310hc226416_0.conda hash: - md5: 4170e7c93ba4045f6ee3f89de1d040d5 - sha256: 4e41503706f55429f0abda0d6f4d0509d0a215b51c5587628c201c3d0014836a + md5: 3df8c74e13bd1b7ec1292b5c6b744509 + sha256: 9c5e8eb73caa4c8f1945ac22af392495221f1809055114c4cc23609a8622a1eb category: main optional: false - name: pydata-sphinx-theme @@ -8787,69 +8879,69 @@ package: category: main optional: false - name: pygments - version: 2.18.0 + version: 2.19.1 manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda hash: - md5: b7f5c092b8f9800150d998a71b76d5a1 - sha256: 78267adf4e76d0d64ea2ffab008c501156c108bb08fecb703816fb63e279780b + md5: 232fb4577b6687b2d503ef8e254270c9 + sha256: 28a3e3161390a9d23bc02b4419448f8d27679d9e2c250e29849e37749c8de86b category: main optional: false - name: pygments - version: 2.18.0 + version: 2.19.1 manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.1-pyhd8ed1ab_0.conda hash: - md5: b7f5c092b8f9800150d998a71b76d5a1 - sha256: 78267adf4e76d0d64ea2ffab008c501156c108bb08fecb703816fb63e279780b + md5: 232fb4577b6687b2d503ef8e254270c9 + sha256: 28a3e3161390a9d23bc02b4419448f8d27679d9e2c250e29849e37749c8de86b category: main optional: false - name: pylint - version: 3.3.1 + version: 3.3.3 manager: conda platform: linux-64 dependencies: - astroid: '>=3.3.4,<3.4.0-dev0' + astroid: '>=3.3.8,<3.4.0-dev0' colorama: '>=0.4.5' dill: '>=0.3.7' isort: '>=4.2.5,<6,!=5.13.0' mccabe: '>=0.6,<0.8' platformdirs: '>=2.2.0' - python: '>=3.9.0' + python: '>=3.9' tomli: '>=1.1.0' tomlkit: '>=0.10.1' typing_extensions: '>=3.10.0' - url: https://conda.anaconda.org/conda-forge/noarch/pylint-3.3.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pylint-3.3.3-pyhd8ed1ab_0.conda hash: - md5: 2a3426f75e2172c932131f4e3d51bcf4 - sha256: 35c0b0f3b8b0585fee0966f5a09b7bd43519a5bca58a9f29f502dd8442a9b14c + md5: 5842a1fa3b9b4f9fe7069b9ca5ed068d + sha256: a8192c823bfb6cdc57d2e12a8748ac1acb588c960c53e71c763f6359c5602e46 category: dev optional: true - name: pylint - version: 3.3.1 + version: 3.3.3 manager: conda platform: win-64 dependencies: - astroid: '>=3.3.4,<3.4.0-dev0' + astroid: '>=3.3.8,<3.4.0-dev0' colorama: '>=0.4.5' dill: '>=0.3.7' isort: '>=4.2.5,<6,!=5.13.0' mccabe: '>=0.6,<0.8' platformdirs: '>=2.2.0' - python: '>=3.9.0' + python: '>=3.9' tomli: '>=1.1.0' tomlkit: '>=0.10.1' typing_extensions: '>=3.10.0' - url: https://conda.anaconda.org/conda-forge/noarch/pylint-3.3.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pylint-3.3.3-pyhd8ed1ab_0.conda hash: - md5: 2a3426f75e2172c932131f4e3d51bcf4 - sha256: 35c0b0f3b8b0585fee0966f5a09b7bd43519a5bca58a9f29f502dd8442a9b14c + md5: 5842a1fa3b9b4f9fe7069b9ca5ed068d + sha256: a8192c823bfb6cdc57d2e12a8748ac1acb588c960c53e71c763f6359c5602e46 category: dev optional: true - name: pymatsolver @@ -8907,27 +8999,27 @@ package: category: main optional: false - name: pyparsing - version: 3.2.0 + version: 3.2.1 manager: conda platform: linux-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.1-pyhd8ed1ab_0.conda hash: - md5: 035c17fbf099f50ff60bf2eb303b0a83 - sha256: b846e3965cd106438cf0b9dc0de8d519670ac065f822a7d66862e9423e0229cb + md5: 285e237b8f351e85e7574a2c7bfa6d46 + sha256: f513fed4001fd228d3bf386269237b4ca6bff732c99ffc11fcbad8529b35407c category: main optional: false - name: pyparsing - version: 3.2.0 + version: 3.2.1 manager: conda platform: win-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.0-pyhd8ed1ab_1.conda + url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.2.1-pyhd8ed1ab_0.conda hash: - md5: 035c17fbf099f50ff60bf2eb303b0a83 - sha256: b846e3965cd106438cf0b9dc0de8d519670ac065f822a7d66862e9423e0229cb + md5: 285e237b8f351e85e7574a2c7bfa6d46 + sha256: f513fed4001fd228d3bf386269237b4ca6bff732c99ffc11fcbad8529b35407c category: main optional: false - name: pyqt @@ -9098,11 +9190,11 @@ package: platform: linux-64 dependencies: __unix: '' - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda hash: - md5: 2a7de29fb590ca14b5243c4c812c8025 - sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b + md5: 461219d1a5bd61342293efa2c0c90eac + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 category: main optional: false - name: pysocks @@ -9111,16 +9203,16 @@ package: platform: win-64 dependencies: __win: '' - python: '>=3.8' + python: '>=3.9' win_inet_pton: '' - url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh0701188_6.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda hash: - md5: 56cd9fe388baac0e90c7149cfac95b60 - sha256: b3a612bc887f3dd0fb7c4199ad8e342bd148cf69a9b74fd9468a18cf2bef07b7 + md5: e2fd202833c4a981ce8a65974fe4abd1 + sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca category: main optional: false - name: pytest - version: 8.3.3 + version: 8.3.4 manager: conda platform: linux-64 dependencies: @@ -9129,16 +9221,16 @@ package: iniconfig: '' packaging: '' pluggy: <2,>=1.5 - python: '>=3.8' + python: '>=3.9' tomli: '>=1' - url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda hash: - md5: c03d61f31f38fdb9facf70c29958bf7a - sha256: e99376d0068455712109d233f5790458ff861aeceb458bfda74e353338e4d815 + md5: 799ed216dc6af62520f32aa39bc1c2bb + sha256: 75245ca9d0cbd6d38bb45ec02430189a9d4c21c055c5259739d738a2298d61b3 category: dev optional: true - name: pytest - version: 8.3.3 + version: 8.3.4 manager: conda platform: win-64 dependencies: @@ -9147,12 +9239,12 @@ package: iniconfig: '' packaging: '' pluggy: <2,>=1.5 - python: '>=3.8' + python: '>=3.9' tomli: '>=1' - url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda hash: - md5: c03d61f31f38fdb9facf70c29958bf7a - sha256: e99376d0068455712109d233f5790458ff861aeceb458bfda74e353338e4d815 + md5: 799ed216dc6af62520f32aa39bc1c2bb + sha256: 75245ca9d0cbd6d38bb45ec02430189a9d4c21c055c5259739d738a2298d61b3 category: dev optional: true - name: pytest-cov @@ -9164,10 +9256,10 @@ package: pytest: '>=4.6' python: '>=3.9' toml: '' - url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_1.conda hash: - md5: cb8a11b6d209e3d85e5094bdbd9ebd9c - sha256: 915323edaee9f6f3ebd8c2e5450b4865700edf2c85eb2bba61980e66c6f03c5d + md5: 79963c319d1be62c8fd3e34555816e01 + sha256: 09acac1974e10a639415be4be326dd21fa6d66ca51a01fb71532263fba6dccf6 category: dev optional: true - name: pytest-cov @@ -9179,14 +9271,14 @@ package: pytest: '>=4.6' python: '>=3.9' toml: '' - url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_1.conda hash: - md5: cb8a11b6d209e3d85e5094bdbd9ebd9c - sha256: 915323edaee9f6f3ebd8c2e5450b4865700edf2c85eb2bba61980e66c6f03c5d + md5: 79963c319d1be62c8fd3e34555816e01 + sha256: 09acac1974e10a639415be4be326dd21fa6d66ca51a01fb71532263fba6dccf6 category: dev optional: true - name: python - version: 3.10.15 + version: 3.10.16 manager: conda platform: linux-64 dependencies: @@ -9195,45 +9287,45 @@ package: ld_impl_linux-64: '>=2.36.1' libffi: '>=3.4,<4.0a0' libgcc: '>=13' + liblzma: '>=5.6.3,<6.0a0' libnsl: '>=2.0.1,<2.1.0a0' - libsqlite: '>=3.46.1,<4.0a0' + libsqlite: '>=3.47.0,<4.0a0' libuuid: '>=2.38.1,<3.0a0' libxcrypt: '>=4.4.36' libzlib: '>=1.3.1,<2.0a0' ncurses: '>=6.5,<7.0a0' - openssl: '>=3.3.2,<4.0a0' + openssl: '>=3.4.0,<4.0a0' pip: '' readline: '>=8.2,<9.0a0' tk: '>=8.6.13,<8.7.0a0' tzdata: '' - xz: '>=5.2.6,<6.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.15-h4a871b0_2_cpython.conda + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.16-he725a3c_1_cpython.conda hash: - md5: 98059097f62e97be9aed7ec904055825 - sha256: c1e5e93b887d8cd1aa31d24b9620cb7eb6645c08c97b15ffc844fd6c29051420 + md5: b887811a901b3aa622a92caf03bc8917 + sha256: 3f90a2d5062a73cd2dd8a0027718aee1db93f7975b9cfe529e2c9aeec2db262e category: main optional: false - name: python - version: 3.10.15 + version: 3.10.16 manager: conda platform: win-64 dependencies: bzip2: '>=1.0.8,<2.0a0' libffi: '>=3.4,<4.0a0' - libsqlite: '>=3.46.1,<4.0a0' + liblzma: '>=5.6.3,<6.0a0' + libsqlite: '>=3.47.0,<4.0a0' libzlib: '>=1.3.1,<2.0a0' - openssl: '>=3.3.2,<4.0a0' + openssl: '>=3.4.0,<4.0a0' pip: '' tk: '>=8.6.13,<8.7.0a0' tzdata: '' ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - xz: '>=5.2.6,<6.0a0' - url: https://conda.anaconda.org/conda-forge/win-64/python-3.10.15-hfaddaf0_2_cpython.conda + url: https://conda.anaconda.org/conda-forge/win-64/python-3.10.16-h37870fc_1_cpython.conda hash: - md5: 52a45ce756c062994b25738288c8ab62 - sha256: ee5af019e5d7140ad2d40b5f772fcd68ded056853a478a2b54f417855977e99b + md5: 5c292a7bd9c32a256ba7939b3e6dee03 + sha256: 3392db6a7a90864d3fd1ce281859a49e27ee68121b63eece2ae6f1dbb2a8aaf1 category: main optional: false - name: python-dateutil @@ -9243,10 +9335,10 @@ package: dependencies: python: '>=3.9' six: '>=1.5' - url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda hash: - md5: b6dfd90a2141e573e4b6a81630b56df5 - sha256: 3888012c5916efaef45d503e3e544bbcc571b84426c1bb9577799ada9efefb54 + md5: 5ba79d7c71f03c678c8ead841f347d6e + sha256: a50052536f1ef8516ed11a844f9413661829aa083304dc624c5925298d078d79 category: main optional: false - name: python-dateutil @@ -9256,34 +9348,34 @@ package: dependencies: python: '>=3.9' six: '>=1.5' - url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhff2d567_1.conda hash: - md5: b6dfd90a2141e573e4b6a81630b56df5 - sha256: 3888012c5916efaef45d503e3e544bbcc571b84426c1bb9577799ada9efefb54 + md5: 5ba79d7c71f03c678c8ead841f347d6e + sha256: a50052536f1ef8516ed11a844f9413661829aa083304dc624c5925298d078d79 category: main optional: false - name: python-fastjsonschema - version: 2.20.0 + version: 2.21.1 manager: conda platform: linux-64 dependencies: - python: '>=3.3' - url: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.20.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.1-pyhd8ed1ab_0.conda hash: - md5: b98d2018c01ce9980c03ee2850690fab - sha256: 7d8c931b89c9980434986b4deb22c2917b58d9936c3974139b9c10ae86fdfe60 + md5: 38e34d2d1d9dca4fb2b9a0a04f604e2c + sha256: 1b09a28093071c1874862422696429d0d35bd0b8420698003ac004746c5e82a2 category: main optional: false - name: python-fastjsonschema - version: 2.20.0 + version: 2.21.1 manager: conda platform: win-64 dependencies: - python: '>=3.3' - url: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.20.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.1-pyhd8ed1ab_0.conda hash: - md5: b98d2018c01ce9980c03ee2850690fab - sha256: 7d8c931b89c9980434986b4deb22c2917b58d9936c3974139b9c10ae86fdfe60 + md5: 38e34d2d1d9dca4fb2b9a0a04f604e2c + sha256: 1b09a28093071c1874862422696429d0d35bd0b8420698003ac004746c5e82a2 category: main optional: false - name: python-json-logger @@ -9381,7 +9473,7 @@ package: category: main optional: false - name: pywavelets - version: 1.7.0 + version: 1.8.0 manager: conda platform: linux-64 dependencies: @@ -9390,14 +9482,14 @@ package: numpy: '>=1.23,<3' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.7.0-py310hf462985_2.conda + url: https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.8.0-py310hf462985_0.conda hash: - md5: bb603a9ffd8f7e97c93c74a5e3c3febd - sha256: 902be1151055b0bdb0c6ea1be8de26a600c8019a93116bf1c9c531ebb7c20c24 + md5: 4c441eff2be2e65bd67765c5642051c5 + sha256: f23e0b5432c6d338876eca664deeb360949062ce026ddb65bcb1f31643452354 category: main optional: false - name: pywavelets - version: 1.7.0 + version: 1.8.0 manager: conda platform: win-64 dependencies: @@ -9407,10 +9499,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/pywavelets-1.7.0-py310hb0944cc_2.conda + url: https://conda.anaconda.org/conda-forge/win-64/pywavelets-1.8.0-py310hb0944cc_0.conda hash: - md5: d54acde60f766f1178137b17b65c74bf - sha256: 8c785f583155c9513333f79b8065eb9b6f9c659ac57e348c7228440d446832e3 + md5: 4227aeb3ae288fb6fc8876dacc016994 + sha256: dd178ca689eb8bf794abbff8f19868afac29b61f9cd0597b0bf7ed190eac817c category: main optional: false - name: pywin32 @@ -9735,12 +9827,12 @@ package: dependencies: jinja2: '>=2.9' packaging: '' - python: '>=3.7' + python: '>=3.9' requests: '' - url: https://conda.anaconda.org/conda-forge/noarch/readthedocs-sphinx-ext-2.2.5-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/readthedocs-sphinx-ext-2.2.5-pyhd8ed1ab_1.conda hash: - md5: 4b639db3b362998c696f7abf4784ee80 - sha256: cf8660b64d62fb5a631bb9344fd4c2fbc6b2529799c8a38ecaf996b05652567d + md5: 42840a95562a02bef45e7b7fb24dcba4 + sha256: e391356581919077b1639ebd13f4cbb0773acfd5710cfe4188921e8a0387dc6b category: dev optional: true - name: readthedocs-sphinx-ext @@ -9750,12 +9842,12 @@ package: dependencies: jinja2: '>=2.9' packaging: '' - python: '>=3.7' + python: '>=3.9' requests: '' - url: https://conda.anaconda.org/conda-forge/noarch/readthedocs-sphinx-ext-2.2.5-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/readthedocs-sphinx-ext-2.2.5-pyhd8ed1ab_1.conda hash: - md5: 4b639db3b362998c696f7abf4784ee80 - sha256: cf8660b64d62fb5a631bb9344fd4c2fbc6b2529799c8a38ecaf996b05652567d + md5: 42840a95562a02bef45e7b7fb24dcba4 + sha256: e391356581919077b1639ebd13f4cbb0773acfd5710cfe4188921e8a0387dc6b category: dev optional: true - name: referencing @@ -9764,12 +9856,12 @@ package: platform: linux-64 dependencies: attrs: '>=22.2.0' - python: '>=3.8' + python: '>=3.9' rpds-py: '>=0.7.0' - url: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_1.conda hash: - md5: 0fc8b52192a8898627c3efae1003e9f6 - sha256: be8d6d9e86b1a3fef5424127ff81782f8ca63d3058980859609f6f1ecdd34cb3 + md5: 8c9083612c1bfe6878715ed5732605f8 + sha256: f972eecb4dc8e06257af37642f92b0f2df04a7fe4c950f2e1045505e5e93985f category: main optional: false - name: referencing @@ -9778,12 +9870,12 @@ package: platform: win-64 dependencies: attrs: '>=22.2.0' - python: '>=3.8' + python: '>=3.9' rpds-py: '>=0.7.0' - url: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_1.conda hash: - md5: 0fc8b52192a8898627c3efae1003e9f6 - sha256: be8d6d9e86b1a3fef5424127ff81782f8ca63d3058980859609f6f1ecdd34cb3 + md5: 8c9083612c1bfe6878715ed5732605f8 + sha256: f972eecb4dc8e06257af37642f92b0f2df04a7fe4c950f2e1045505e5e93985f category: main optional: false - name: requests @@ -9794,12 +9886,12 @@ package: certifi: '>=2017.4.17' charset-normalizer: '>=2,<4' idna: '>=2.5,<4' - python: '>=3.8' + python: '>=3.9' urllib3: '>=1.21.1,<3' - url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_1.conda hash: - md5: 5ede4753180c7a550a443c430dc8ab52 - sha256: 5845ffe82a6fa4d437a2eae1e32a1ad308d7ad349f61e337c0a890fe04c513cc + md5: a9b9368f3701a417eac9edbcae7cb737 + sha256: d701ca1136197aa121bbbe0e8c18db6b5c94acbd041c2b43c70e5ae104e1d8ad category: main optional: false - name: requests @@ -9810,12 +9902,12 @@ package: certifi: '>=2017.4.17' charset-normalizer: '>=2,<4' idna: '>=2.5,<4' - python: '>=3.8' + python: '>=3.9' urllib3: '>=1.21.1,<3' - url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.3-pyhd8ed1ab_1.conda hash: - md5: 5ede4753180c7a550a443c430dc8ab52 - sha256: 5845ffe82a6fa4d437a2eae1e32a1ad308d7ad349f61e337c0a890fe04c513cc + md5: a9b9368f3701a417eac9edbcae7cb737 + sha256: d701ca1136197aa121bbbe0e8c18db6b5c94acbd041c2b43c70e5ae104e1d8ad category: main optional: false - name: retrying @@ -9849,12 +9941,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.5' + python: '>=3.9' six: '' - url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda hash: - md5: fed45fc5ea0813240707998abe49f520 - sha256: 7c7052b51de0b5c558f890bb11f8b5edbb9934a653d76be086b1182b9f54185d + md5: 36de09a8d3e5d5e6f4ee63af49e59706 + sha256: 2e4372f600490a6e0b3bac60717278448e323cab1c0fecd5f43f7c56535a99c5 category: main optional: false - name: rfc3339-validator @@ -9862,12 +9954,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.5' + python: '>=3.9' six: '' - url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda hash: - md5: fed45fc5ea0813240707998abe49f520 - sha256: 7c7052b51de0b5c558f890bb11f8b5edbb9934a653d76be086b1182b9f54185d + md5: 36de09a8d3e5d5e6f4ee63af49e59706 + sha256: 2e4372f600490a6e0b3bac60717278448e323cab1c0fecd5f43f7c56535a99c5 category: main optional: false - name: rfc3986-validator @@ -9895,7 +9987,7 @@ package: category: main optional: false - name: rpds-py - version: 0.21.0 + version: 0.22.3 manager: conda platform: linux-64 dependencies: @@ -9903,14 +9995,14 @@ package: libgcc: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.21.0-py310h505e2c1_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.22.3-py310h505e2c1_0.conda hash: - md5: 060aac00c8de3dcf3d329c1a7c2250fb - sha256: ec1575ef0faf919b396c4d93a06c571c9b104872ebc2cb0cfc01eb822009c75b + md5: 3c12053527c50b3f825dd6dd0861832d + sha256: e13019600e75707126118cf3f02187e7dd96f475a82e8fa06e59091f76159274 category: main optional: false - name: rpds-py - version: 0.21.0 + version: 0.22.3 manager: conda platform: win-64 dependencies: @@ -9919,10 +10011,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.21.0-py310hc226416_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/rpds-py-0.22.3-py310hc226416_0.conda hash: - md5: d369f36636cd4ee9b1b945642fed0b78 - sha256: f6655c46f0d8b43aa4d867f0c536578443207239dc208b8c4ce1ddc3fd57b971 + md5: 9830bfdf323849d4575a0036f184a3ad + sha256: 30ceeaf10fa48ac63ca5ef72e7ed611241c852f7f980fff1ac37571fde635b31 category: main optional: false - name: scikit-image @@ -10031,10 +10123,10 @@ package: numpy: '>=1.23.5' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py310hfcf56fc_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py310hfcf56fc_2.conda hash: - md5: d9b1b75a227dbc42f3fe0e8bc852b805 - sha256: df95244cd5faf7ede8560081db49892cb8ae99e202044d9eb00e4792d9d29af0 + md5: b5d548b2a7cf8d0c74fc6c4bf42d1ca5 + sha256: a15008a51fd6b6dcaeb5563869ff0a8a015f1e0a8634a9d89d2c189eefbd7182 category: main optional: false - name: scipy @@ -10051,10 +10143,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/scipy-1.14.1-py310hbd0dde3_1.conda + url: https://conda.anaconda.org/conda-forge/win-64/scipy-1.14.1-py310hbd0dde3_2.conda hash: - md5: 40856f1a065530263c38af13fe7d8f25 - sha256: 6ba7d1ab0cc549931bb5979c5230d3fa64791a23a23dd8142813da9759ba2b1a + md5: 72a2a7c264a8b48d113111756c2bbbb4 + sha256: 761829fa9c91fdffff0ba5a1f56f7d4cc00bec71ca7fa06859dc7f5a98117273 category: main optional: false - name: semver @@ -10062,11 +10154,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.2-pyhd8ed1ab_1.conda hash: - md5: 5efb3fccda53974aed800b6d575f72ed - sha256: 1cd164b2e80ea011b9272a66cc356773086885c447d6f62fed5f30f99bda3cb3 + md5: ed39b4a7d7e9294cd8fa1ca05d5bd06b + sha256: eb0ea2df6124615038b064ce00fa61e85b0860444496cfc208c78fb23bbb87ab category: dev optional: true - name: semver @@ -10074,11 +10166,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/semver-3.0.2-pyhd8ed1ab_1.conda hash: - md5: 5efb3fccda53974aed800b6d575f72ed - sha256: 1cd164b2e80ea011b9272a66cc356773086885c447d6f62fed5f30f99bda3cb3 + md5: ed39b4a7d7e9294cd8fa1ca05d5bd06b + sha256: eb0ea2df6124615038b064ce00fa61e85b0860444496cfc208c78fb23bbb87ab category: dev optional: true - name: send2trash @@ -10087,11 +10179,11 @@ package: platform: linux-64 dependencies: __linux: '' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_1.conda hash: - md5: 778594b20097b5a948c59e50ae42482a - sha256: c4401b071e86ddfa0ea4f34b85308db2516b6aeca50053535996864cfdee7b3f + md5: 938c8de6b9de091997145b3bf25cdbf9 + sha256: 00926652bbb8924e265caefdb1db100f86a479e8f1066efe395d5552dde54d02 category: main optional: false - name: send2trash @@ -10100,36 +10192,36 @@ package: platform: win-64 dependencies: __win: '' - python: '>=3.7' + python: '>=3.9' pywin32: '' - url: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh5737063_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh5737063_1.conda hash: - md5: 5a86a21050ca3831ec7f77fb302f1132 - sha256: d8aa230501a33250af2deee03006a2579f0335e7240a9c7286834788dcdcfaa8 + md5: e6a4e906051565caf5fdae5b0415b654 + sha256: ba8b93df52e0d625177907852340d735026c81118ac197f61f1f5baea19071ad category: main optional: false - name: setuptools - version: 75.6.0 + version: 75.8.0 manager: conda platform: linux-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.8.0-pyhff2d567_0.conda hash: - md5: 68d7d406366926b09a6a023e3d0f71d7 - sha256: eeec4645f70ce0ed03348397dced9d218a650a42df98592419af61d2689163ed + md5: 8f28e299c11afdd79e0ec1e279dcdc52 + sha256: e0778e4f276e9a81b51c56f51ec22a27b4d8fc955abc0be77ad09ca9bea06bb9 category: main optional: false - name: setuptools - version: 75.6.0 + version: 75.8.0 manager: conda platform: win-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.6.0-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.8.0-pyhff2d567_0.conda hash: - md5: 68d7d406366926b09a6a023e3d0f71d7 - sha256: eeec4645f70ce0ed03348397dced9d218a650a42df98592419af61d2689163ed + md5: 8f28e299c11afdd79e0ec1e279dcdc52 + sha256: e0778e4f276e9a81b51c56f51ec22a27b4d8fc955abc0be77ad09ca9bea06bb9 category: main optional: false - name: shapely @@ -10204,27 +10296,27 @@ package: category: main optional: false - name: six - version: 1.16.0 + version: 1.17.0 manager: conda platform: linux-64 dependencies: - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda hash: - md5: e5f25f8dbc060e9a8d912e432202afc2 - sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 + md5: a451d576819089b0d672f18768be0f65 + sha256: 41db0180680cc67c3fa76544ffd48d6a5679d96f4b71d7498a759e94edc9a2db category: main optional: false - name: six - version: 1.16.0 + version: 1.17.0 manager: conda platform: win-64 dependencies: - python: '' - url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhd8ed1ab_0.conda hash: - md5: e5f25f8dbc060e9a8d912e432202afc2 - sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 + md5: a451d576819089b0d672f18768be0f65 + sha256: 41db0180680cc67c3fa76544ffd48d6a5679d96f4b71d7498a759e94edc9a2db category: main optional: false - name: snappy @@ -10259,11 +10351,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda hash: - md5: 490730480d76cf9c8f8f2849719c6e2b - sha256: bc12100b2d8836b93c55068b463190505b8064d0fc7d025e89f20ebf22fe6c2b + md5: bf7a226e58dfb8346c70df36065d86c9 + sha256: c2248418c310bdd1719b186796ae50a8a77ce555228b6acd32768e2543a15012 category: main optional: false - name: sniffio @@ -10271,11 +10363,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_1.conda hash: - md5: 490730480d76cf9c8f8f2849719c6e2b - sha256: bc12100b2d8836b93c55068b463190505b8064d0fc7d025e89f20ebf22fe6c2b + md5: bf7a226e58dfb8346c70df36065d86c9 + sha256: c2248418c310bdd1719b186796ae50a8a77ce555228b6acd32768e2543a15012 category: main optional: false - name: snowballstemmer @@ -10416,10 +10508,10 @@ package: pydata-sphinx-theme: '>=0.15.2' python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.3-pyhd8ed1ab_1.conda hash: - md5: 54e574ecd914ea059b29887a93463d79 - sha256: 300aacc36eb33502f640398b83a50a878c869c4fbd6a713d89e04234da8c8bba + md5: 501e2d6d8aa1b8d82d2707ce8c90b287 + sha256: cf1d3ae6d28042954ac750f6948678fefa619681c3994d2637d747d96a1139ea category: dev optional: true - name: sphinx-book-theme @@ -10430,10 +10522,10 @@ package: pydata-sphinx-theme: '>=0.15.2' python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.3-pyhd8ed1ab_1.conda hash: - md5: 54e574ecd914ea059b29887a93463d79 - sha256: 300aacc36eb33502f640398b83a50a878c869c4fbd6a713d89e04234da8c8bba + md5: 501e2d6d8aa1b8d82d2707ce8c90b287 + sha256: cf1d3ae6d28042954ac750f6948678fefa619681c3994d2637d747d96a1139ea category: dev optional: true - name: sphinx-comments @@ -10441,12 +10533,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '' + python: '>=3.9' sphinx: '>=1.8' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-comments-0.0.3-pyh9f0ad1d_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-comments-0.0.3-pyhd8ed1ab_1.conda hash: - md5: 2ae3ce35de0c1cec45c94182694f8d1b - sha256: 2578e9a84f3d4435ad1065daa55ad22a401968c09842220337e8195336f94839 + md5: 30e02fa8e40287da066e348c95ff5609 + sha256: 00129f91b905441a9e27c46ef32c22617743eb4a4f7207e1dd84bc19505d4381 category: dev optional: true - name: sphinx-comments @@ -10454,12 +10546,12 @@ package: manager: conda platform: win-64 dependencies: - python: '' + python: '>=3.9' sphinx: '>=1.8' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-comments-0.0.3-pyh9f0ad1d_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-comments-0.0.3-pyhd8ed1ab_1.conda hash: - md5: 2ae3ce35de0c1cec45c94182694f8d1b - sha256: 2578e9a84f3d4435ad1065daa55ad22a401968c09842220337e8195336f94839 + md5: 30e02fa8e40287da066e348c95ff5609 + sha256: 00129f91b905441a9e27c46ef32c22617743eb4a4f7207e1dd84bc19505d4381 category: dev optional: true - name: sphinx-copybutton @@ -10467,12 +10559,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3' + python: '>=3.9' sphinx: '>=1.8' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda hash: - md5: ac832cc43adc79118cf6e23f1f9b8995 - sha256: 7ea21f009792e7c69612ddba367afe0412b3fdff2e92f439e8cd222de4b40bfe + md5: bf22cb9c439572760316ce0748af3713 + sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 category: dev optional: true - name: sphinx-copybutton @@ -10480,12 +10572,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3' + python: '>=3.9' sphinx: '>=1.8' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-copybutton-0.5.2-pyhd8ed1ab_1.conda hash: - md5: ac832cc43adc79118cf6e23f1f9b8995 - sha256: 7ea21f009792e7c69612ddba367afe0412b3fdff2e92f439e8cd222de4b40bfe + md5: bf22cb9c439572760316ce0748af3713 + sha256: 8cd892e49cb4d00501bc4439fb0c73ca44905f01a65b2b7fa05ba0e8f3924f19 category: dev optional: true - name: sphinx-design @@ -10523,10 +10615,10 @@ package: python: '>=3.9' pyyaml: '' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-external-toc-1.0.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-external-toc-1.0.1-pyhd8ed1ab_1.conda hash: - md5: 7a8b55d920fa30a68a2da808abf57291 - sha256: 1436741a948742862e69554f02b855cada81643b10c7dd632c29b1b28aa0ce96 + md5: d248f9db0f1c2e7c480b058925afa9c5 + sha256: 47dda7135f9fb1777b7066c3b9260fdd796d6ec2aeb8804161f39c65b3461401 category: dev optional: true - name: sphinx-external-toc @@ -10538,10 +10630,10 @@ package: python: '>=3.9' pyyaml: '' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-external-toc-1.0.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-external-toc-1.0.1-pyhd8ed1ab_1.conda hash: - md5: 7a8b55d920fa30a68a2da808abf57291 - sha256: 1436741a948742862e69554f02b855cada81643b10c7dd632c29b1b28aa0ce96 + md5: d248f9db0f1c2e7c480b058925afa9c5 + sha256: 47dda7135f9fb1777b7066c3b9260fdd796d6ec2aeb8804161f39c65b3461401 category: dev optional: true - name: sphinx-jupyterbook-latex @@ -10552,10 +10644,10 @@ package: packaging: '' python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-jupyterbook-latex-1.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-jupyterbook-latex-1.0.0-pyhd8ed1ab_1.conda hash: - md5: 90b6071fb02e56a1aafc85e52721fa0e - sha256: 648307f83e8843b9685a6d979e6bffd7cb0a0d6b81d62b64cbd7c843f87abeb6 + md5: 9261bc5d987013f5d8dc58061c34f1a3 + sha256: b64c031795918f26ddeb5148ede2d3a4944cd9f5461cf72bde3f28acdc71d2f3 category: dev optional: true - name: sphinx-jupyterbook-latex @@ -10566,10 +10658,10 @@ package: packaging: '' python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-jupyterbook-latex-1.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-jupyterbook-latex-1.0.0-pyhd8ed1ab_1.conda hash: - md5: 90b6071fb02e56a1aafc85e52721fa0e - sha256: 648307f83e8843b9685a6d979e6bffd7cb0a0d6b81d62b64cbd7c843f87abeb6 + md5: 9261bc5d987013f5d8dc58061c34f1a3 + sha256: b64c031795918f26ddeb5148ede2d3a4944cd9f5461cf72bde3f28acdc71d2f3 category: dev optional: true - name: sphinx-multitoc-numbering @@ -10577,12 +10669,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' + python: '>=3.9' sphinx: '>=3' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-multitoc-numbering-0.1.3-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-multitoc-numbering-0.1.3-pyhd8ed1ab_1.conda hash: - md5: 40749a4d0f0d2e11c65fb26c1cd16a90 - sha256: 6c8241fdb4222799c04677b06b2e1f480a6c11f27c8fccc9f73f98798d3c44d8 + md5: cc5fc0988f0fedab436361b9b5906a58 + sha256: 9fa48b33334c3a9971c96dd3d921950e8350cfa88a8e8ebaec6d8261071ea2ac category: dev optional: true - name: sphinx-multitoc-numbering @@ -10590,12 +10682,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' + python: '>=3.9' sphinx: '>=3' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-multitoc-numbering-0.1.3-pyhd8ed1ab_0.tar.bz2 + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-multitoc-numbering-0.1.3-pyhd8ed1ab_1.conda hash: - md5: 40749a4d0f0d2e11c65fb26c1cd16a90 - sha256: 6c8241fdb4222799c04677b06b2e1f480a6c11f27c8fccc9f73f98798d3c44d8 + md5: cc5fc0988f0fedab436361b9b5906a58 + sha256: 9fa48b33334c3a9971c96dd3d921950e8350cfa88a8e8ebaec6d8261071ea2ac category: dev optional: true - name: sphinx-thebe @@ -10603,12 +10695,12 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' + python: '>=3.9' sphinx: '>=4' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-thebe-0.3.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-thebe-0.3.1-pyhd8ed1ab_1.conda hash: - md5: c7895f70474a3883c9ff75c290dff551 - sha256: a6c9c15b59edcf957cc6e6122269c07164a08d71754852f65819375844fd843d + md5: f6627ce09745a0f822cc6e7de8cf4f99 + sha256: 9d0cd52edcb2274bf7c8e9327317d9bb48e1d092afeaed093e0242876ad3c008 category: dev optional: true - name: sphinx-thebe @@ -10616,12 +10708,12 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' + python: '>=3.9' sphinx: '>=4' - url: https://conda.anaconda.org/conda-forge/noarch/sphinx-thebe-0.3.1-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-thebe-0.3.1-pyhd8ed1ab_1.conda hash: - md5: c7895f70474a3883c9ff75c290dff551 - sha256: a6c9c15b59edcf957cc6e6122269c07164a08d71754852f65819375844fd843d + md5: f6627ce09745a0f822cc6e7de8cf4f99 + sha256: 9d0cd52edcb2274bf7c8e9327317d9bb48e1d092afeaed093e0242876ad3c008 category: dev optional: true - name: sphinx-togglebutton @@ -10659,10 +10751,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda hash: - md5: 9075bd8c033f0257122300db914e49c9 - sha256: 8ac476358cf26098e3a360b2a9037bd809243f72934c103953e25f4fda4b9f31 + md5: 16e3f039c0aa6446513e94ab18a8784b + sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba category: dev optional: true - name: sphinxcontrib-applehelp @@ -10672,10 +10764,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-2.0.0-pyhd8ed1ab_1.conda hash: - md5: 9075bd8c033f0257122300db914e49c9 - sha256: 8ac476358cf26098e3a360b2a9037bd809243f72934c103953e25f4fda4b9f31 + md5: 16e3f039c0aa6446513e94ab18a8784b + sha256: d7433a344a9ad32a680b881c81b0034bc61618d12c39dd6e3309abeffa9577ba category: dev optional: true - name: sphinxcontrib-bibtex @@ -10721,10 +10813,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda hash: - md5: b3bcc38c471ebb738854f52a36059b48 - sha256: 6790efe55f168816dfc9c14235054d5156e5150d28546c5baf2ff4973eff8f6b + md5: 910f28a05c178feba832f842155cbfff + sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d category: dev optional: true - name: sphinxcontrib-devhelp @@ -10734,10 +10826,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-2.0.0-pyhd8ed1ab_1.conda hash: - md5: b3bcc38c471ebb738854f52a36059b48 - sha256: 6790efe55f168816dfc9c14235054d5156e5150d28546c5baf2ff4973eff8f6b + md5: 910f28a05c178feba832f842155cbfff + sha256: 55d5076005d20b84b20bee7844e686b7e60eb9f683af04492e598a622b12d53d category: dev optional: true - name: sphinxcontrib-htmlhelp @@ -10747,10 +10839,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda hash: - md5: e25640d692c02e8acfff0372f547e940 - sha256: 55e14b77ed786ab6ff752b8d75f8448536f385ed250f432bd408d2eff5ea4a9e + md5: e9fb3fe8a5b758b4aff187d434f94f03 + sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 category: dev optional: true - name: sphinxcontrib-htmlhelp @@ -10760,10 +10852,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.1.0-pyhd8ed1ab_1.conda hash: - md5: e25640d692c02e8acfff0372f547e940 - sha256: 55e14b77ed786ab6ff752b8d75f8448536f385ed250f432bd408d2eff5ea4a9e + md5: e9fb3fe8a5b758b4aff187d434f94f03 + sha256: c1492c0262ccf16694bdcd3bb62aa4627878ea8782d5cd3876614ffeb62b3996 category: dev optional: true - name: sphinxcontrib-jsmath @@ -10771,11 +10863,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda hash: - md5: da1d979339e2714c30a8e806a33ec087 - sha256: d4337d83b8edba688547766fc80f1ac86d6ec86ceeeda93f376acc04079c5ce2 + md5: fa839b5ff59e192f411ccc7dae6588bb + sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 category: dev optional: true - name: sphinxcontrib-jsmath @@ -10783,11 +10875,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_1.conda hash: - md5: da1d979339e2714c30a8e806a33ec087 - sha256: d4337d83b8edba688547766fc80f1ac86d6ec86ceeeda93f376acc04079c5ce2 + md5: fa839b5ff59e192f411ccc7dae6588bb + sha256: 578bef5ec630e5b2b8810d898bbbf79b9ae66d49b7938bcc3efc364e679f2a62 category: dev optional: true - name: sphinxcontrib-qthelp @@ -10797,10 +10889,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda hash: - md5: d6e5ea5fe00164ac6c2dcc5d76a42192 - sha256: 7ae639b729844de2ec74dbaf1acccc14843868a82fa46cd2ceb735bc8266af5b + md5: 00534ebcc0375929b45c3039b5ba7636 + sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca category: dev optional: true - name: sphinxcontrib-qthelp @@ -10810,10 +10902,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-2.0.0-pyhd8ed1ab_1.conda hash: - md5: d6e5ea5fe00164ac6c2dcc5d76a42192 - sha256: 7ae639b729844de2ec74dbaf1acccc14843868a82fa46cd2ceb735bc8266af5b + md5: 00534ebcc0375929b45c3039b5ba7636 + sha256: c664fefae4acdb5fae973bdde25836faf451f41d04342b64a358f9a7753c92ca category: dev optional: true - name: sphinxcontrib-serializinghtml @@ -10823,10 +10915,10 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda hash: - md5: e507335cb4ca9cff4c3d0fa9cdab255e - sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f + md5: 3bc61f7161d28137797e038263c04c54 + sha256: 64d89ecc0264347486971a94487cb8d7c65bfc0176750cf7502b8a272f4ab557 category: dev optional: true - name: sphinxcontrib-serializinghtml @@ -10836,14 +10928,14 @@ package: dependencies: python: '>=3.9' sphinx: '>=5' - url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_1.conda hash: - md5: e507335cb4ca9cff4c3d0fa9cdab255e - sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f + md5: 3bc61f7161d28137797e038263c04c54 + sha256: 64d89ecc0264347486971a94487cb8d7c65bfc0176750cf7502b8a272f4ab557 category: dev optional: true - name: sqlalchemy - version: 2.0.36 + version: 2.0.37 manager: conda platform: linux-64 dependencies: @@ -10853,14 +10945,14 @@ package: python: '>=3.10,<3.11.0a0' python_abi: 3.10.* typing-extensions: '>=4.6.0' - url: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.36-py310ha75aee5_0.conda + url: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.37-py310ha75aee5_0.conda hash: - md5: 66bddc78878ee3842f900334447e9527 - sha256: 0b97c80982254e6424d5d5537a21ed1865be73e8b22adae1076e68274fb7ef26 + md5: c54931e147566053f774738dc5caaa4e + sha256: 22e5d1fea4606b7ba3700f68f733b76d8012ef1b1cc9af85256fd2f0dd3c1fd6 category: dev optional: true - name: sqlalchemy - version: 2.0.36 + version: 2.0.37 manager: conda platform: win-64 dependencies: @@ -10871,72 +10963,72 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.36-py310ha8f682b_0.conda + url: https://conda.anaconda.org/conda-forge/win-64/sqlalchemy-2.0.37-py310ha8f682b_0.conda hash: - md5: 458f94a86252f0960e7491ad654dc260 - sha256: 6ae3a0ff3cb66c562786a317c808c0378fb13e794ace2c1c0940347ad34adc8e + md5: 73d7dad251d3c87b69f40c72f9bac8e7 + sha256: 510e46d3c619902f4b611ba88441148b13de23e3d591e2b0ae15ea215c1fd33b category: dev optional: true - name: sqlite - version: 3.47.0 + version: 3.47.2 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=13' - libsqlite: 3.47.0 + libsqlite: 3.47.2 libzlib: '>=1.3.1,<2.0a0' ncurses: '>=6.5,<7.0a0' readline: '>=8.2,<9.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.47.0-h9eae976_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.47.2-h9eae976_0.conda hash: - md5: 53abf1ef70b9ae213b22caa5350f97a9 - sha256: 8ea1a085fa95d806301aeec0df6985c3ad0852a9a46aa62dd737d228c7862f9f + md5: 64a954de15d114281535a26fd4d1f294 + sha256: 8bda8238ee98e318aad2c54ab3c85c533c830ecba72486c616b7c8546b9b51f7 category: main optional: false - name: sqlite - version: 3.47.0 + version: 3.47.2 manager: conda platform: win-64 dependencies: - libsqlite: 3.47.0 + libsqlite: 3.47.2 ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.47.0-h2466b09_1.conda + url: https://conda.anaconda.org/conda-forge/win-64/sqlite-3.47.2-h2466b09_0.conda hash: - md5: 93084a590e8b7d2b62b7d5b1763d5bde - sha256: bc2a5ab86dbe2352790d1742265b3b6ae9a7aa5cf80345a37f26ec3e04cf9b4a + md5: 0ff53f37371775ceded312bf81ca80a4 + sha256: 4886e43acd6d174eefaf9727c7e655168fc0fb360ed20ad0b0076fd7ad645243 category: main optional: false - name: stack_data - version: 0.6.2 + version: 0.6.3 manager: conda platform: linux-64 dependencies: asttokens: '' executing: '' pure_eval: '' - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda hash: - md5: e7df0fdd404616638df5ece6e69ba7af - sha256: a58433e75229bec39f3be50c02efbe9b7083e53a1f31d8ee247564f370191eec + md5: b1b505328da7a6b246787df4b5a49fbc + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 category: main optional: false - name: stack_data - version: 0.6.2 + version: 0.6.3 manager: conda platform: win-64 dependencies: asttokens: '' executing: '' pure_eval: '' - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda hash: - md5: e7df0fdd404616638df5ece6e69ba7af - sha256: a58433e75229bec39f3be50c02efbe9b7083e53a1f31d8ee247564f370191eec + md5: b1b505328da7a6b246787df4b5a49fbc + sha256: 570da295d421661af487f1595045760526964f41471021056e993e73089e9c41 category: main optional: false - name: svt-av1 @@ -10972,11 +11064,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_1.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda hash: - md5: 4759805cce2d914c38472f70bf4d8bcb - sha256: f6e4a0dd24ba060a4af69ca79d32361a6678e61d78c73eb5e357909b025b4620 + md5: 959484a66b4b76befcddc4fa97c95567 + sha256: 090023bddd40d83468ef86573976af8c514f64119b2bd814ee63a838a542720a category: dev optional: true - name: tabulate @@ -10984,11 +11076,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_1.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_2.conda hash: - md5: 4759805cce2d914c38472f70bf4d8bcb - sha256: f6e4a0dd24ba060a4af69ca79d32361a6678e61d78c73eb5e357909b025b4620 + md5: 959484a66b4b76befcddc4fa97c95567 + sha256: 090023bddd40d83468ef86573976af8c514f64119b2bd814ee63a838a542720a category: dev optional: true - name: tbb @@ -11028,11 +11120,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/tblib-3.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tblib-3.0.0-pyhd8ed1ab_1.conda hash: - md5: 04eedddeb68ad39871c8127dd1c21f4f - sha256: 2e2c255b6f24a6d75b9938cb184520e27db697db2c24f04e18342443ae847c0a + md5: 60ce69f73f3e75b21f1c27b1b471320c + sha256: 6869cd2e043426d30c84d0ff6619f176b39728f9c75dc95dca89db994548bb8a category: main optional: false - name: tblib @@ -11040,11 +11132,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/tblib-3.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tblib-3.0.0-pyhd8ed1ab_1.conda hash: - md5: 04eedddeb68ad39871c8127dd1c21f4f - sha256: 2e2c255b6f24a6d75b9938cb184520e27db697db2c24f04e18342443ae847c0a + md5: 60ce69f73f3e75b21f1c27b1b471320c + sha256: 6869cd2e043426d30c84d0ff6619f176b39728f9c75dc95dca89db994548bb8a category: main optional: false - name: tenacity @@ -11052,11 +11144,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.0.0-pyhd8ed1ab_1.conda hash: - md5: 42af51ad3b654ece73572628ad2882ae - sha256: 0d33171e1d303b57867f0cfcffb8a35031700acb3c52b1862064d8f4e1085538 + md5: a09f66fe95a54a92172e56a4a97ba271 + sha256: dcf2155fb959773fb102066bfab8e7d79aff67054d142716979274a43fc85735 category: main optional: false - name: tenacity @@ -11064,11 +11156,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tenacity-9.0.0-pyhd8ed1ab_1.conda hash: - md5: 42af51ad3b654ece73572628ad2882ae - sha256: 0d33171e1d303b57867f0cfcffb8a35031700acb3c52b1862064d8f4e1085538 + md5: a09f66fe95a54a92172e56a4a97ba271 + sha256: dcf2155fb959773fb102066bfab8e7d79aff67054d142716979274a43fc85735 category: main optional: false - name: terminado @@ -11126,31 +11218,31 @@ package: category: main optional: false - name: tifffile - version: 2024.9.20 + version: 2024.12.12 manager: conda platform: linux-64 dependencies: imagecodecs: '>=2023.8.12' numpy: '>=1.19.2' python: '>=3.10' - url: https://conda.anaconda.org/conda-forge/noarch/tifffile-2024.9.20-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/tifffile-2024.12.12-pyhd8ed1ab_0.conda hash: - md5: 6de55c7859ed314159eaf2b7b4f19cc7 - sha256: 10b70ee019158ef75f2c861724b2b2c11002643031f862b3a8ca99014607ceed + md5: 59d646aa704b6024cb965be43493ed45 + sha256: 2108062a852cb273d685e9512845001b79c08c541b197bc874ade70b3e2c630c category: main optional: false - name: tifffile - version: 2024.9.20 + version: 2024.12.12 manager: conda platform: win-64 dependencies: imagecodecs: '>=2023.8.12' numpy: '>=1.19.2' python: '>=3.10' - url: https://conda.anaconda.org/conda-forge/noarch/tifffile-2024.9.20-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/tifffile-2024.12.12-pyhd8ed1ab_0.conda hash: - md5: 6de55c7859ed314159eaf2b7b4f19cc7 - sha256: 10b70ee019158ef75f2c861724b2b2c11002643031f862b3a8ca99014607ceed + md5: 59d646aa704b6024cb965be43493ed45 + sha256: 2108062a852cb273d685e9512845001b79c08c541b197bc874ade70b3e2c630c category: main optional: false - name: tiledb @@ -11256,11 +11348,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=2.7' - url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda hash: - md5: f832c45a477c78bebd107098db465095 - sha256: f0f3d697349d6580e4c2f35ba9ce05c65dc34f9f049e85e45da03800b46139c1 + md5: b0dd904de08b7db706167240bf37b164 + sha256: 34f3a83384ac3ac30aefd1309e69498d8a4aa0bf2d1f21c645f79b180e378938 category: main optional: false - name: toml @@ -11268,35 +11360,35 @@ package: manager: conda platform: win-64 dependencies: - python: '>=2.7' - url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_1.conda hash: - md5: f832c45a477c78bebd107098db465095 - sha256: f0f3d697349d6580e4c2f35ba9ce05c65dc34f9f049e85e45da03800b46139c1 + md5: b0dd904de08b7db706167240bf37b164 + sha256: 34f3a83384ac3ac30aefd1309e69498d8a4aa0bf2d1f21c645f79b180e378938 category: main optional: false - name: tomli - version: 2.1.0 + version: 2.2.1 manager: conda platform: linux-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda hash: - md5: 3fa1089b4722df3a900135925f4519d9 - sha256: 354b8a64d4f3311179d85aefc529ca201a36afc1af090d0010c46be7b79f9a47 + md5: ac944244f1fed2eb49bae07193ae8215 + sha256: 18636339a79656962723077df9a56c0ac7b8a864329eb8f847ee3d38495b863e category: main optional: false - name: tomli - version: 2.1.0 + version: 2.2.1 manager: conda platform: win-64 dependencies: python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda hash: - md5: 3fa1089b4722df3a900135925f4519d9 - sha256: 354b8a64d4f3311179d85aefc529ca201a36afc1af090d0010c46be7b79f9a47 + md5: ac944244f1fed2eb49bae07193ae8215 + sha256: 18636339a79656962723077df9a56c0ac7b8a864329eb8f847ee3d38495b863e category: main optional: false - name: tomlkit @@ -11304,11 +11396,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.13.2-pyha770c72_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.13.2-pyha770c72_1.conda hash: - md5: 0062a5f3347733f67b0f33ca48cc21dd - sha256: 2ccfe8dafdc1f1af944bca6bdf28fa97b5fa6125d84b8895a4e918a020853c12 + md5: 1d9ab4fc875c52db83f9c9b40af4e2c8 + sha256: 986fae65f5568e95dbf858d08d77a0f9cca031345a98550f1d4b51d36d8811e2 category: dev optional: true - name: tomlkit @@ -11316,11 +11408,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.13.2-pyha770c72_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.13.2-pyha770c72_1.conda hash: - md5: 0062a5f3347733f67b0f33ca48cc21dd - sha256: 2ccfe8dafdc1f1af944bca6bdf28fa97b5fa6125d84b8895a4e918a020853c12 + md5: 1d9ab4fc875c52db83f9c9b40af4e2c8 + sha256: 986fae65f5568e95dbf858d08d77a0f9cca031345a98550f1d4b51d36d8811e2 category: dev optional: true - name: toolz @@ -11328,11 +11420,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda hash: - md5: 34feccdd4177f2d3d53c73fc44fd9a37 - sha256: 6371cf3cf8292f2abdcc2bf783d6e70203d72f8ff0c1625f55a486711e276c75 + md5: 40d0ed782a8aaa16ef248e68c06c168d + sha256: eda38f423c33c2eaeca49ed946a8d3bf466cc3364970e083a65eb2fd85258d87 category: main optional: false - name: toolz @@ -11340,15 +11432,15 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/toolz-1.0.0-pyhd8ed1ab_1.conda hash: - md5: 34feccdd4177f2d3d53c73fc44fd9a37 - sha256: 6371cf3cf8292f2abdcc2bf783d6e70203d72f8ff0c1625f55a486711e276c75 + md5: 40d0ed782a8aaa16ef248e68c06c168d + sha256: eda38f423c33c2eaeca49ed946a8d3bf466cc3364970e083a65eb2fd85258d87 category: main optional: false - name: tornado - version: 6.4.1 + version: 6.4.2 manager: conda platform: linux-64 dependencies: @@ -11356,14 +11448,14 @@ package: libgcc: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.1-py310ha75aee5_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4.2-py310ha75aee5_0.conda hash: - md5: 260c9ae4b2d9af7d5cce7b721cba6132 - sha256: db63e4d301ae8241343a9e04321a0a8d23e214460715faea029dd199e6f5dcc5 + md5: 166d59aab40b9c607b4cc21c03924e9d + sha256: 9c2b86d4e58c8b0e7d13a7f4c440f34e2201bae9cfc1d7e1d30a5bc7ffb1d4c8 category: main optional: false - name: tornado - version: 6.4.1 + version: 6.4.2 manager: conda platform: win-64 dependencies: @@ -11372,36 +11464,36 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/tornado-6.4.1-py310ha8f682b_1.conda + url: https://conda.anaconda.org/conda-forge/win-64/tornado-6.4.2-py310ha8f682b_0.conda hash: - md5: 975e757765691110c1785f97bbe73c32 - sha256: fada61447a6dd6a8abd3f2f127888d1cffab9be24265511b9477fe88fc81ba66 + md5: e6819d3a0cae0f1b1838875f858421d1 + sha256: 2e5671d0db03961692b3390778ce6aba40702bd57584fa60badf4baa7614679b category: main optional: false - name: tqdm - version: 4.67.0 + version: 4.67.1 manager: conda platform: linux-64 dependencies: colorama: '' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda hash: - md5: 196a9e6ab4e036ceafa516ea036619b0 - sha256: fb25b18cec1ebae56e7d7ebbd3e504f063b61a0fac17b1ca798fcaf205bdc874 + md5: 9efbfdc37242619130ea42b1cc4ed861 + sha256: 11e2c85468ae9902d24a27137b6b39b4a78099806e551d390e394a8c34b48e40 category: main optional: false - name: tqdm - version: 4.67.0 + version: 4.67.1 manager: conda platform: win-64 dependencies: colorama: '' - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.1-pyhd8ed1ab_1.conda hash: - md5: 196a9e6ab4e036ceafa516ea036619b0 - sha256: fb25b18cec1ebae56e7d7ebbd3e504f063b61a0fac17b1ca798fcaf205bdc874 + md5: 9efbfdc37242619130ea42b1cc4ed861 + sha256: 11e2c85468ae9902d24a27137b6b39b4a78099806e551d390e394a8c34b48e40 category: main optional: false - name: traitlets @@ -11409,11 +11501,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda hash: - md5: 3df84416a021220d8b5700c613af2dc5 - sha256: 8a64fa0f19022828513667c2c7176cfd125001f3f4b9bc00d33732e627dd2592 + md5: 019a7385be9af33791c989871317e1ed + sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 category: main optional: false - name: traitlets @@ -11421,35 +11513,35 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda hash: - md5: 3df84416a021220d8b5700c613af2dc5 - sha256: 8a64fa0f19022828513667c2c7176cfd125001f3f4b9bc00d33732e627dd2592 + md5: 019a7385be9af33791c989871317e1ed + sha256: f39a5620c6e8e9e98357507262a7869de2ae8cc07da8b7f84e517c9fd6c2b959 category: main optional: false - name: types-python-dateutil - version: 2.9.0.20241003 + version: 2.9.0.20241206 manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241003-pyhff2d567_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241206-pyhd8ed1ab_0.conda hash: - md5: 3d326f8a2aa2d14d51d8c513426b5def - sha256: 8489af986daebfbcd13d3748ba55431259206e37f184ab42a57e107fecd85e02 + md5: 1dbc4a115e2ad9fb7f9d5b68397f66f9 + sha256: 8b98cd9464837174ab58aaa912fc95d5831879864676650a383994033533b8d1 category: main optional: false - name: types-python-dateutil - version: 2.9.0.20241003 + version: 2.9.0.20241206 manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241003-pyhff2d567_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20241206-pyhd8ed1ab_0.conda hash: - md5: 3d326f8a2aa2d14d51d8c513426b5def - sha256: 8489af986daebfbcd13d3748ba55431259206e37f184ab42a57e107fecd85e02 + md5: 1dbc4a115e2ad9fb7f9d5b68397f66f9 + sha256: 8b98cd9464837174ab58aaa912fc95d5831879864676650a383994033533b8d1 category: main optional: false - name: typing-extensions @@ -11458,10 +11550,10 @@ package: platform: linux-64 dependencies: typing_extensions: 4.12.2 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda hash: - md5: 52d648bd608f5737b123f510bb5514b5 - sha256: d3b9a8ed6da7c9f9553c5fd8a4fca9c3e0ab712fa5f497859f82337d67533b73 + md5: b6a408c64b78ec7b779a3e5c7a902433 + sha256: c8e9c1c467b5f960b627d7adc1c65fece8e929a3de89967e91ef0f726422fd32 category: main optional: false - name: typing-extensions @@ -11470,10 +11562,10 @@ package: platform: win-64 dependencies: typing_extensions: 4.12.2 - url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.12.2-hd8ed1ab_1.conda hash: - md5: 52d648bd608f5737b123f510bb5514b5 - sha256: d3b9a8ed6da7c9f9553c5fd8a4fca9c3e0ab712fa5f497859f82337d67533b73 + md5: b6a408c64b78ec7b779a3e5c7a902433 + sha256: c8e9c1c467b5f960b627d7adc1c65fece8e929a3de89967e91ef0f726422fd32 category: main optional: false - name: typing_extensions @@ -11481,11 +11573,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda hash: - md5: ebe6952715e1d5eb567eeebf25250fa7 - sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb + md5: d17f13df8b65464ca316cbc000a3cb64 + sha256: 337be7af5af8b2817f115b3b68870208b30c31d3439bec07bfb2d8f4823e3568 category: main optional: false - name: typing_extensions @@ -11493,11 +11585,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_1.conda hash: - md5: ebe6952715e1d5eb567eeebf25250fa7 - sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb + md5: d17f13df8b65464ca316cbc000a3cb64 + sha256: 337be7af5af8b2817f115b3b68870208b30c31d3439bec07bfb2d8f4823e3568 category: main optional: false - name: typing_utils @@ -11505,11 +11597,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6.1' - url: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda hash: - md5: eb67e3cace64c66233e2d35949e20f92 - sha256: 9e3758b620397f56fb709f796969de436d63b7117897159619b87938e1f78739 + md5: f6d7aa696c67756a650e91e15e88223c + sha256: 3088d5d873411a56bf988eee774559335749aed6f6c28e07bf933256afb9eb6c category: main optional: false - name: typing_utils @@ -11517,11 +11609,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6.1' - url: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda hash: - md5: eb67e3cace64c66233e2d35949e20f92 - sha256: 9e3758b620397f56fb709f796969de436d63b7117897159619b87938e1f78739 + md5: f6d7aa696c67756a650e91e15e88223c + sha256: 3088d5d873411a56bf988eee774559335749aed6f6c28e07bf933256afb9eb6c category: main optional: false - name: tzcode @@ -11564,11 +11656,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-1.0.3-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-1.0.3-pyhd8ed1ab_1.conda hash: - md5: 3b7fc78d7be7b450952aaa916fb78877 - sha256: 54293cd94da3a6b978b353eb7897555055d925ad0008bc73e85cca19e2587ed0 + md5: 9c96c9876ba45368a03056ddd0f20431 + sha256: a2f837780af450d633efc052219c31378bcad31356766663fb88a99e8e4c817b category: dev optional: true - name: uc-micro-py @@ -11576,11 +11668,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-1.0.3-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/uc-micro-py-1.0.3-pyhd8ed1ab_1.conda hash: - md5: 3b7fc78d7be7b450952aaa916fb78877 - sha256: 54293cd94da3a6b978b353eb7897555055d925ad0008bc73e85cca19e2587ed0 + md5: 9c96c9876ba45368a03056ddd0f20431 + sha256: a2f837780af450d633efc052219c31378bcad31356766663fb88a99e8e4c817b category: dev optional: true - name: ucrt @@ -11595,7 +11687,7 @@ package: category: main optional: false - name: unicodedata2 - version: 15.1.0 + version: 16.0.0 manager: conda platform: linux-64 dependencies: @@ -11603,14 +11695,14 @@ package: libgcc: '>=13' python: '>=3.10,<3.11.0a0' python_abi: 3.10.* - url: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.1.0-py310ha75aee5_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-16.0.0-py310ha75aee5_0.conda hash: - md5: ee18e67b0bd283f6a75369936451d6ac - sha256: 4fa13f63d1e3e524a793733e7802110eba62f9734667da5990a172b4dc631d08 + md5: 1d7a4b9202cdd10d56ecdd7f6c347190 + sha256: 0468c864c60190fdb94b4705bca618e77589d5cb9fa096de47caccd1f22b0b54 category: main optional: false - name: unicodedata2 - version: 15.1.0 + version: 16.0.0 manager: conda platform: win-64 dependencies: @@ -11619,10 +11711,10 @@ package: ucrt: '>=10.0.20348.0' vc: '>=14.2,<15' vc14_runtime: '>=14.29.30139' - url: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-15.1.0-py310ha8f682b_1.conda + url: https://conda.anaconda.org/conda-forge/win-64/unicodedata2-16.0.0-py310ha8f682b_0.conda hash: - md5: c79b8d93f7cf51200011a9eede124b6e - sha256: 4d5e8d7e59cd916c19ef57d7623de99eb3d0e5122a4023793e7cea209717a04e + md5: b28aead44c6e19a1fbba7752aa242b34 + sha256: b59837c68d8edcca3c86c205a8c5dec63356029e48d55ed88c5483105d73ac0c category: main optional: false - name: uri-template @@ -11630,11 +11722,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda hash: - md5: 0944dc65cb4a9b5b68522c3bb585d41c - sha256: b76904b53721dc88a46352324c79d2b077c2f74a9f7208ad2c4249892669ae94 + md5: e7cb0f5745e4c5035a460248334af7eb + sha256: e0eb6c8daf892b3056f08416a96d68b0a358b7c46b99c8a50481b22631a4dfc0 category: main optional: false - name: uri-template @@ -11642,11 +11734,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.7' - url: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda hash: - md5: 0944dc65cb4a9b5b68522c3bb585d41c - sha256: b76904b53721dc88a46352324c79d2b077c2f74a9f7208ad2c4249892669ae94 + md5: e7cb0f5745e4c5035a460248334af7eb + sha256: e0eb6c8daf892b3056f08416a96d68b0a358b7c46b99c8a50481b22631a4dfc0 category: main optional: false - name: uriparser @@ -11677,35 +11769,35 @@ package: category: main optional: false - name: urllib3 - version: 2.2.3 + version: 2.3.0 manager: conda platform: linux-64 dependencies: brotli-python: '>=1.0.9' h2: '>=4,<5' pysocks: '>=1.5.6,<2.0,!=1.5.7' - python: '>=3.8' + python: '>=3.9' zstandard: '>=0.18.0' - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda hash: - md5: 6b55867f385dd762ed99ea687af32a69 - sha256: b6bb34ce41cd93956ad6eeee275ed52390fb3788d6c75e753172ea7ac60b66e5 + md5: 32674f8dbfb7b26410ed580dd3c10a29 + sha256: 114919ffa80c328127dab9c8e7a38f9d563c617691fb81fccb11c1e86763727e category: main optional: false - name: urllib3 - version: 2.2.3 + version: 2.3.0 manager: conda platform: win-64 dependencies: brotli-python: '>=1.0.9' h2: '>=4,<5' pysocks: '>=1.5.6,<2.0,!=1.5.7' - python: '>=3.8' + python: '>=3.9' zstandard: '>=0.18.0' - url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.3-pyhd8ed1ab_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.3.0-pyhd8ed1ab_0.conda hash: - md5: 6b55867f385dd762ed99ea687af32a69 - sha256: b6bb34ce41cd93956ad6eeee275ed52390fb3788d6c75e753172ea7ac60b66e5 + md5: 32674f8dbfb7b26410ed580dd3c10a29 + sha256: 114919ffa80c328127dab9c8e7a38f9d563c617691fb81fccb11c1e86763727e category: main optional: false - name: vc @@ -11775,11 +11867,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda hash: - md5: 68f0738df502a14213624b288c60c9ad - sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3 + md5: b68980f2495d096e71c7fd9d7ccf63e6 + sha256: f21e63e8f7346f9074fd00ca3b079bd3d2fa4d71f1f89d5b6934bf31446dc2a5 category: main optional: false - name: wcwidth @@ -11787,35 +11879,35 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_1.conda hash: - md5: 68f0738df502a14213624b288c60c9ad - sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3 + md5: b68980f2495d096e71c7fd9d7ccf63e6 + sha256: f21e63e8f7346f9074fd00ca3b079bd3d2fa4d71f1f89d5b6934bf31446dc2a5 category: main optional: false - name: webcolors - version: 24.8.0 + version: 24.11.1 manager: conda platform: linux-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.11.1-pyhd8ed1ab_0.conda hash: - md5: eb48b812eb4fbb9ff238a6651fdbbcae - sha256: ec71f97c332a7d328ae038990b8090cbfa772f82845b5d2233defd167b7cc5ac + md5: b49f7b291e15494aafb0a7d74806f337 + sha256: 08315dc2e61766a39219b2d82685fc25a56b2817acf84d5b390176080eaacf99 category: main optional: false - name: webcolors - version: 24.8.0 + version: 24.11.1 manager: conda platform: win-64 dependencies: - python: '>=3.5' - url: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.8.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.11.1-pyhd8ed1ab_0.conda hash: - md5: eb48b812eb4fbb9ff238a6651fdbbcae - sha256: ec71f97c332a7d328ae038990b8090cbfa772f82845b5d2233defd167b7cc5ac + md5: b49f7b291e15494aafb0a7d74806f337 + sha256: 08315dc2e61766a39219b2d82685fc25a56b2817acf84d5b390176080eaacf99 category: main optional: false - name: webencodings @@ -11823,11 +11915,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=2.6' - url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda hash: - md5: daf5160ff9cde3a468556965329085b9 - sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944 + md5: 2841eb5bfc75ce15e9a0054b98dcd64d + sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 category: main optional: false - name: webencodings @@ -11835,11 +11927,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=2.6' - url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda hash: - md5: daf5160ff9cde3a468556965329085b9 - sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944 + md5: 2841eb5bfc75ce15e9a0054b98dcd64d + sha256: 19ff205e138bb056a46f9e3839935a2e60bd1cf01c8241a5e172a422fed4f9c6 category: main optional: false - name: websocket-client @@ -11847,11 +11939,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_1.conda hash: - md5: f372c576b8774922da83cda2b12f9d29 - sha256: 44a5e3b97feef24cd719f7851cca9af9799dc9c17d3e0298d5856baab2d682f5 + md5: 84f8f77f0a9c6ef401ee96611745da8f + sha256: 1dd84764424ffc82030c19ad70607e6f9e3b9cb8e633970766d697185652053e category: main optional: false - name: websocket-client @@ -11859,11 +11951,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_1.conda hash: - md5: f372c576b8774922da83cda2b12f9d29 - sha256: 44a5e3b97feef24cd719f7851cca9af9799dc9c17d3e0298d5856baab2d682f5 + md5: 84f8f77f0a9c6ef401ee96611745da8f + sha256: 1dd84764424ffc82030c19ad70607e6f9e3b9cb8e633970766d697185652053e category: main optional: false - name: werkzeug @@ -11873,10 +11965,10 @@ package: dependencies: markupsafe: '>=2.1.1' python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.3-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.3-pyhd8ed1ab_1.conda hash: - md5: f06be40e91eb82775b486f485c90995e - sha256: 588cb0a2275ae10fc8d43e1e43fa597ed2c63ea72eab3531f9e66e2352871240 + md5: 0a9b57c159d56b508613cc39022c1b9e + sha256: cd9a603beae0b237be7d9dfae8ae0b36ad62666ac4bb073969bce7da6f55157c category: main optional: false - name: werkzeug @@ -11886,34 +11978,34 @@ package: dependencies: markupsafe: '>=2.1.1' python: '>=3.9' - url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.3-pyhff2d567_0.conda + url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.1.3-pyhd8ed1ab_1.conda hash: - md5: f06be40e91eb82775b486f485c90995e - sha256: 588cb0a2275ae10fc8d43e1e43fa597ed2c63ea72eab3531f9e66e2352871240 + md5: 0a9b57c159d56b508613cc39022c1b9e + sha256: cd9a603beae0b237be7d9dfae8ae0b36ad62666ac4bb073969bce7da6f55157c category: main optional: false - name: wheel - version: 0.45.0 + version: 0.45.1 manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda hash: - md5: f9751d7c71df27b2d29f5cab3378982e - sha256: 8a51067f8e1a2cb0b5e89672dbcc0369e344a92e869c38b2946584aa09ab7088 + md5: 75cb7132eb58d97896e173ef12ac9986 + sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce category: main optional: false - name: wheel - version: 0.45.0 + version: 0.45.1 manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.45.1-pyhd8ed1ab_1.conda hash: - md5: f9751d7c71df27b2d29f5cab3378982e - sha256: 8a51067f8e1a2cb0b5e89672dbcc0369e344a92e869c38b2946584aa09ab7088 + md5: 75cb7132eb58d97896e173ef12ac9986 + sha256: 1b34021e815ff89a4d902d879c3bd2040bc1bd6169b32e9427497fa05c55f1ce category: main optional: false - name: widgetsnbextension @@ -11948,11 +12040,11 @@ package: platform: win-64 dependencies: __win: '' - python: '>=3.6' - url: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_7.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda hash: - md5: c998c13b2f998af57c3b88c7a47979e0 - sha256: c5297692ab34aade5e21107abaf623d6f93847662e25f655320038d2bfa1a812 + md5: 46e441ba871f524e2b067929da3051c2 + sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f category: main optional: false - name: winpty @@ -12142,31 +12234,31 @@ package: category: main optional: false - name: xorg-libice - version: 1.1.1 + version: 1.1.2 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=13' - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hb9d3cd8_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda hash: - md5: 19608a9656912805b2b9a2f6bd257b04 - sha256: ec276da68d1c4a3d34a63195b35ca5b248d4aff0812464dcd843d74649b5cec4 + md5: fb901ff28063514abb6046c9ec2c4a45 + sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b category: main optional: false - name: xorg-libsm - version: 1.2.4 + version: 1.2.5 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=13' libuuid: '>=2.38.1,<3.0a0' - xorg-libice: '>=1.1.1,<2.0a0' - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-he73a12e_1.conda + xorg-libice: '>=1.1.2,<2.0a0' + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.5-he73a12e_0.conda hash: - md5: 05a8ea5f446de33006171a7afe6ae857 - sha256: 70e903370977d44c9120a5641ab563887bd48446e9ef6fc2a3f5f60531c2cd6c + md5: 4c3e9fab69804ec6077697922d70c6e2 + sha256: 760f43df6c2ce8cbbbcb8f2f3b7fc0f306716c011e28d1d340f3dfa8ccf29185 category: main optional: false - name: xorg-libx11 @@ -12186,16 +12278,16 @@ package: category: main optional: false - name: xorg-libxau - version: 1.0.11 + version: 1.0.12 manager: conda platform: linux-64 dependencies: __glibc: '>=2.17,<3.0.a0' libgcc: '>=13' - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hb9d3cd8_1.conda + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb9d3cd8_0.conda hash: - md5: 77cbc488235ebbaab2b6e912d3934bae - sha256: 532a046fee0b3a402db867b6ec55c84ba4cdedb91d817147c8feeae9766be3d6 + md5: f6ebe2cb3f82ba6c057dde5d9debe4f7 + sha256: ed10c9283974d311855ae08a16dfd7e56241fac632aec3b92e3cfe73cff31038 category: main optional: false - name: xorg-libxau @@ -12458,28 +12550,80 @@ package: category: main optional: false - name: xz - version: 5.2.6 + version: 5.6.3 manager: conda platform: linux-64 dependencies: - libgcc-ng: '>=12' - url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + liblzma: 5.6.3 + liblzma-devel: 5.6.3 + xz-gpl-tools: 5.6.3 + xz-tools: 5.6.3 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.6.3-hbcc6ac9_1.conda hash: - md5: 2161070d867d1b1204ea749c8eec4ef0 - sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162 + md5: 62aae173382a8aae284726353c6a6a24 + sha256: 9cef529dcff25222427c9d90b9fc376888a59e138794b4336bbcd3331a5eea22 category: main optional: false - name: xz - version: 5.2.6 + version: 5.6.3 + manager: conda + platform: win-64 + dependencies: + liblzma: 5.6.3 + liblzma-devel: 5.6.3 + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + xz-tools: 5.6.3 + url: https://conda.anaconda.org/conda-forge/win-64/xz-5.6.3-h208afaa_1.conda + hash: + md5: fce59c05fc73134677e81b7b8184b397 + sha256: 636687c7ff74e37e464b57ddddc921016713f13fb48126ba8db426eb2d978392 + category: main + optional: false +- name: xz-gpl-tools + version: 5.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + liblzma: 5.6.3 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-gpl-tools-5.6.3-hbcc6ac9_1.conda + hash: + md5: f529917bab7862aaad6867bf2ea47a99 + sha256: 4e104b7c75c2f26a96032a1c6cda51430da1dea318c74f9e3568902b2f5030e1 + category: main + optional: false +- name: xz-tools + version: 5.6.3 + manager: conda + platform: linux-64 + dependencies: + __glibc: '>=2.17,<3.0.a0' + libgcc: '>=13' + liblzma: 5.6.3 + url: https://conda.anaconda.org/conda-forge/linux-64/xz-tools-5.6.3-hb9d3cd8_1.conda + hash: + md5: de3f31a6eed01bc2b8c7dcad07ad9034 + sha256: 6e80f838096345c35e8755b827814c083dd0274594006d6f76bff71bc969c3b8 + category: main + optional: false +- name: xz-tools + version: 5.6.3 manager: conda platform: win-64 dependencies: - vc: '>=14.1,<15' - vs2015_runtime: '>=14.16.27033' - url: https://conda.anaconda.org/conda-forge/win-64/xz-5.2.6-h8d14728_0.tar.bz2 + liblzma: 5.6.3 + ucrt: '>=10.0.20348.0' + vc: '>=14.2,<15' + vc14_runtime: '>=14.29.30139' + url: https://conda.anaconda.org/conda-forge/win-64/xz-tools-5.6.3-h2466b09_1.conda hash: - md5: 515d77642eaa3639413c6b1bc3f94219 - sha256: 54d9778f75a02723784dc63aff4126ff6e6749ba21d11a6d03c1f4775f269fe0 + md5: 4100be41430c9b2310468d3489597071 + sha256: 0cb621f748ec0b9b5edafb9a15e342f6f6f42a3f462ab0276c821a35e8bf39c0 category: main optional: false - name: yaml @@ -12605,11 +12749,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda hash: - md5: cf30c2c15b82aacb07f9c09e28ff2275 - sha256: 3d65c081514569ab3642ba7e6c2a6b4615778b596db6b1c82ee30a2d912539e5 + md5: e52c2ef711ccf31bb7f70ca87d144b9e + sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d category: main optional: false - name: zict @@ -12617,11 +12761,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zict-3.0.0-pyhd8ed1ab_1.conda hash: - md5: cf30c2c15b82aacb07f9c09e28ff2275 - sha256: 3d65c081514569ab3642ba7e6c2a6b4615778b596db6b1c82ee30a2d912539e5 + md5: e52c2ef711ccf31bb7f70ca87d144b9e + sha256: 5488542dceeb9f2874e726646548ecc5608060934d6f9ceaa7c6a48c61f9cc8d category: main optional: false - name: zipp @@ -12629,11 +12773,11 @@ package: manager: conda platform: linux-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda hash: - md5: fee389bf8a4843bd7a2248ce11b7f188 - sha256: 232a30e4b0045c9de5e168dda0328dc0e28df9439cdecdfb97dd79c1c82c4cec + md5: 0c3cc595284c5e8f0f9900a9b228a332 + sha256: 567c04f124525c97a096b65769834b7acb047db24b15a56888a322bf3966c3e1 category: main optional: false - name: zipp @@ -12641,11 +12785,11 @@ package: manager: conda platform: win-64 dependencies: - python: '>=3.8' - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda + python: '>=3.9' + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_1.conda hash: - md5: fee389bf8a4843bd7a2248ce11b7f188 - sha256: 232a30e4b0045c9de5e168dda0328dc0e28df9439cdecdfb97dd79c1c82c4cec + md5: 0c3cc595284c5e8f0f9900a9b228a332 + sha256: 567c04f124525c97a096b65769834b7acb047db24b15a56888a322bf3966c3e1 category: main optional: false - name: zlib @@ -12768,69 +12912,69 @@ package: category: main optional: false - name: curve-apps - version: 0.2.0b1 + version: 0.2.0rc1 manager: pip platform: linux-64 dependencies: - geoapps-utils: '>=0.4.0b1,<0.5.0a.dev' - geoh5py: '>=0.10.0b1,<0.11.0a.dev' + geoapps-utils: '>=0.4.0rc1,<0.5.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.5.2,<3.0.0' - scikit-image: '>=0.24.0,<0.25.0' + scikit-image: ==0.24.* scipy: '>=1.14.0,<1.15.0' tqdm: '>=4.66.1,<4.67.0' - url: https://files.pythonhosted.org/packages/ab/21/51f4b9b3f74d25ba21b0f00a07b4c6a4fd315e287b633c642479d361a6f5/curve_apps-0.2.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/curve-apps/0.2.0-rc.1/curve_apps-0.2.0rc1-py3-none-any.whl hash: - sha256: bb4e6cee736b89ee16930164a2dea50e3a29dd63d69d4f4a54d81c6010cd99d2 + sha256: f499b1778d64d6e481062b809529343e7b43128f3c1407113fa98651d2f6473f category: main optional: false - name: curve-apps - version: 0.2.0b1 + version: 0.2.0rc1 manager: pip platform: win-64 dependencies: - geoapps-utils: '>=0.4.0b1,<0.5.0a.dev' - geoh5py: '>=0.10.0b1,<0.11.0a.dev' + geoapps-utils: '>=0.4.0rc1,<0.5.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.5.2,<3.0.0' - scikit-image: '>=0.24.0,<0.25.0' + scikit-image: ==0.24.* scipy: '>=1.14.0,<1.15.0' tqdm: '>=4.66.1,<4.67.0' - url: https://files.pythonhosted.org/packages/ab/21/51f4b9b3f74d25ba21b0f00a07b4c6a4fd315e287b633c642479d361a6f5/curve_apps-0.2.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/curve-apps/0.2.0-rc.1/curve_apps-0.2.0rc1-py3-none-any.whl hash: - sha256: bb4e6cee736b89ee16930164a2dea50e3a29dd63d69d4f4a54d81c6010cd99d2 + sha256: f499b1778d64d6e481062b809529343e7b43128f3c1407113fa98651d2f6473f category: main optional: false - name: geoapps-utils - version: 0.4.0b1 + version: 0.4.0rc1 manager: pip platform: linux-64 dependencies: - geoh5py: '>=0.10.0b1,<0.11.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.5.2,<3.0.0' scipy: '>=1.14.0,<1.15.0' - url: https://files.pythonhosted.org/packages/cb/d8/316a5682604665d0cb5eba0e6fd813b9ec8ecc3f670d1fadaa28d764ca71/geoapps_utils-0.4.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/geoapps-utils/0.4.0-rc.1/geoapps_utils-0.4.0rc1-py3-none-any.whl hash: - sha256: 9d5fa21872653c287e71e9b9f01beda9a2b85e5f9d974c1b04433a8081d0e6c2 + sha256: 248c43c0c2b1b6a259c84fd5a1a0eaab013ea0cd01522a1b95c58b183031f96c category: main optional: false - name: geoapps-utils - version: 0.4.0b1 + version: 0.4.0rc1 manager: pip platform: win-64 dependencies: - geoh5py: '>=0.10.0b1,<0.11.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' pydantic: '>=2.5.2,<3.0.0' scipy: '>=1.14.0,<1.15.0' - url: https://files.pythonhosted.org/packages/cb/d8/316a5682604665d0cb5eba0e6fd813b9ec8ecc3f670d1fadaa28d764ca71/geoapps_utils-0.4.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/geoapps-utils/0.4.0-rc.1/geoapps_utils-0.4.0rc1-py3-none-any.whl hash: - sha256: 9d5fa21872653c287e71e9b9f01beda9a2b85e5f9d974c1b04433a8081d0e6c2 + sha256: 248c43c0c2b1b6a259c84fd5a1a0eaab013ea0cd01522a1b95c58b183031f96c category: main optional: false - name: geoh5py - version: 0.10.0b3 + version: 0.10.0rc1 manager: pip platform: linux-64 dependencies: @@ -12838,13 +12982,13 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: https://files.pythonhosted.org/packages/1c/4c/dcc55c42558c79be47526e62875a5ad6bff0d3c947f1fc079f83620166b4/geoh5py-0.10.0b3-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/geoh5py/0.10.0-rc.1/geoh5py-0.10.0rc1-py3-none-any.whl hash: - sha256: fba0de0a0ee4fd3ee2ec3134c9a72b23da030266cafda21f767389b2ed9279e5 + sha256: 50a6b8f52a0dafd9cff1706155c50262d66d193a063822f32837e0e424ead9f2 category: main optional: false - name: geoh5py - version: 0.10.0b3 + version: 0.10.0rc1 manager: pip platform: win-64 dependencies: @@ -12852,13 +12996,13 @@ package: numpy: '>=1.26.0,<1.27.0' pillow: '>=10.3.0,<10.4.0' pydantic: '>=2.5.2,<3.0.0' - url: https://files.pythonhosted.org/packages/1c/4c/dcc55c42558c79be47526e62875a5ad6bff0d3c947f1fc079f83620166b4/geoh5py-0.10.0b3-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/geoh5py/0.10.0-rc.1/geoh5py-0.10.0rc1-py3-none-any.whl hash: - sha256: fba0de0a0ee4fd3ee2ec3134c9a72b23da030266cafda21f767389b2ed9279e5 + sha256: 50a6b8f52a0dafd9cff1706155c50262d66d193a063822f32837e0e424ead9f2 category: main optional: false - name: mira-simpeg - version: 0.21.2.1b2 + version: 0.21.2.1rc1 manager: pip platform: linux-64 dependencies: @@ -12876,13 +13020,13 @@ package: scikit-learn: '>=1.2' scipy: '>=1.8.0' zarr: '*' - url: https://files.pythonhosted.org/packages/db/fd/e78734a994ec26bdbfbd73fde46c00e67cfdb987720afb93f53c3204d6d3/mira_simpeg-0.21.2.1b2-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/packages/packages/82/e7/5648143ed4aa1248b406f6596cd1aee8ab3c29df95813c96a22757f83b36/mira_simpeg-0.21.2.1rc1-py3-none-any.whl hash: - sha256: c708a0140738a701df67c2ca540f0aaacf9b034a376d7d2d689f588ab6d6e45a + sha256: c2c5adb9436f4bd0bc92d9acbf3e5739b100047c54b09757fde210b290ac4a56 category: main optional: false - name: mira-simpeg - version: 0.21.2.1b2 + version: 0.21.2.1rc1 manager: pip platform: win-64 dependencies: @@ -12900,113 +13044,101 @@ package: scikit-learn: '>=1.2' scipy: '>=1.8.0' zarr: '*' - url: https://files.pythonhosted.org/packages/db/fd/e78734a994ec26bdbfbd73fde46c00e67cfdb987720afb93f53c3204d6d3/mira_simpeg-0.21.2.1b2-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/packages/packages/82/e7/5648143ed4aa1248b406f6596cd1aee8ab3c29df95813c96a22757f83b36/mira_simpeg-0.21.2.1rc1-py3-none-any.whl hash: - sha256: c708a0140738a701df67c2ca540f0aaacf9b034a376d7d2d689f588ab6d6e45a + sha256: c2c5adb9436f4bd0bc92d9acbf3e5739b100047c54b09757fde210b290ac4a56 category: main optional: false - name: octree-creation-app - version: 0.2.0b1 + version: 0.2.0rc1 manager: pip platform: linux-64 dependencies: - discretize: '>=0.10.0,<0.11.0' - geoapps-utils: 0.4.0b1 - geoh5py: '>=0.10.0b1,<0.11.0a.dev' - h5py: '>=3.2.1,<4.0.0' + discretize: ==0.10.* + geoapps-utils: '>=0.4.0rc1,<0.5.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' - pillow: '>=10.3.0,<10.4.0' - pydantic: '>=2.5.2,<3.0.0' scipy: '>=1.14.0,<1.15.0' - url: https://files.pythonhosted.org/packages/19/75/c70ae463e29c423111c66a87907c6a6f340be79d6eeba952b5abf50a786d/octree_creation_app-0.2.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/octree-creation-app/0.2.0-rc.1/octree_creation_app-0.2.0rc1-py3-none-any.whl hash: - sha256: 76075c147122cd2c7f282c799ea456f161d72253d8e6ffdc528fbb4cc28088a3 + sha256: ce52db037a0048fe3a826ad389988567534c74b094c215e8b53a92bd8f36f39c category: main optional: false - name: octree-creation-app - version: 0.2.0b1 + version: 0.2.0rc1 manager: pip platform: win-64 dependencies: - discretize: '>=0.10.0,<0.11.0' - geoapps-utils: 0.4.0b1 - geoh5py: '>=0.10.0b1,<0.11.0a.dev' - h5py: '>=3.2.1,<4.0.0' + discretize: ==0.10.* + geoapps-utils: '>=0.4.0rc1,<0.5.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' - pillow: '>=10.3.0,<10.4.0' - pydantic: '>=2.5.2,<3.0.0' scipy: '>=1.14.0,<1.15.0' - url: https://files.pythonhosted.org/packages/19/75/c70ae463e29c423111c66a87907c6a6f340be79d6eeba952b5abf50a786d/octree_creation_app-0.2.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/octree-creation-app/0.2.0-rc.1/octree_creation_app-0.2.0rc1-py3-none-any.whl hash: - sha256: 76075c147122cd2c7f282c799ea456f161d72253d8e6ffdc528fbb4cc28088a3 + sha256: ce52db037a0048fe3a826ad389988567534c74b094c215e8b53a92bd8f36f39c category: main optional: false - name: param-sweeps - version: 0.2.0b1 + version: 0.2.0rc1 manager: pip platform: linux-64 dependencies: - geoh5py: '>=0.10.0-beta.1,<0.11' + geoh5py: '>=0.10.0b1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' - url: https://files.pythonhosted.org/packages/3a/bb/b22fa384eb777e7b4133cb4c34db1b622c8a84f740bf4008783bf55849f7/param_sweeps-0.2.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/param-sweeps/0.2.0-rc.1/param_sweeps-0.2.0rc1-py3-none-any.whl hash: - sha256: a6a7448f67b5c20f93f97f32e4599afe7ab6d874bed01e909665e9dd2190a946 + sha256: 0e2f83e6fc84cabd021126278b1fef27cf646f3566bc1b6b1b29706dabdd9950 category: main optional: false - name: param-sweeps - version: 0.2.0b1 + version: 0.2.0rc1 manager: pip platform: win-64 dependencies: - geoh5py: '>=0.10.0-beta.1,<0.11' + geoh5py: '>=0.10.0b1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' - url: https://files.pythonhosted.org/packages/3a/bb/b22fa384eb777e7b4133cb4c34db1b622c8a84f740bf4008783bf55849f7/param_sweeps-0.2.0b1-py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/param-sweeps/0.2.0-rc.1/param_sweeps-0.2.0rc1-py3-none-any.whl hash: - sha256: a6a7448f67b5c20f93f97f32e4599afe7ab6d874bed01e909665e9dd2190a946 + sha256: 0e2f83e6fc84cabd021126278b1fef27cf646f3566bc1b6b1b29706dabdd9950 category: main optional: false - name: peak-finder-app - version: 0.2.0-beta.4 + version: 0.2.0rc1 manager: pip platform: linux-64 dependencies: - curve-apps: '>=0.2.0-beta.1,<0.3.0a.dev' + curve-apps: '>=0.2.0-rc.1,<0.3.0a.dev' dask: ==2024.6.* distributed: ==2024.6.* - geoapps-utils: '>=0.4.0-beta.1,<0.5.0a.dev' - geoh5py: '>=0.10.0-beta.1,<0.11.0a.dev' + geoapps-utils: '>=0.4.0-rc.1,<0.5.0a.dev' + geoh5py: '>=0.10.0-rc.1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' plotly: '>=5.19.0,<5.20.0' scipy: '>=1.14.0,<1.15.0' tqdm: '>=4.66.1,<5.0.0' - url: git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/peak-finder-app/0.2.0-rc.1/peak_finder_app-0.2.0rc1-py3-none-any.whl hash: - sha256: 790e341ede5fa70d60a1651a8355551da7e81b56 - source: - type: url - url: git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + sha256: b29cf8372d5cfd4d035ba5eb05a6a7a239b45058a6efa70a9b51b8254ec7b389 category: main optional: false - name: peak-finder-app - version: 0.2.0-beta.4 + version: 0.2.0rc1 manager: pip platform: win-64 dependencies: - curve-apps: '>=0.2.0-beta.1,<0.3.0a.dev' + curve-apps: '>=0.2.0-rc.1,<0.3.0a.dev' dask: ==2024.6.* distributed: ==2024.6.* - geoapps-utils: '>=0.4.0-beta.1,<0.5.0a.dev' - geoh5py: '>=0.10.0-beta.1,<0.11.0a.dev' + geoapps-utils: '>=0.4.0-rc.1,<0.5.0a.dev' + geoh5py: '>=0.10.0-rc.1,<0.11.0a.dev' numpy: '>=1.26.0,<1.27.0' plotly: '>=5.19.0,<5.20.0' scipy: '>=1.14.0,<1.15.0' tqdm: '>=4.66.1,<5.0.0' - url: git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/peak-finder-app/0.2.0-rc.1/peak_finder_app-0.2.0rc1-py3-none-any.whl hash: - sha256: 790e341ede5fa70d60a1651a8355551da7e81b56 - source: - type: url - url: git+https://github.com/MiraGeoscience/peak-finder-app.git@790e341ede5fa70d60a1651a8355551da7e81b56 + sha256: b29cf8372d5cfd4d035ba5eb05a6a7a239b45058a6efa70a9b51b8254ec7b389 category: main optional: false - name: simpeg-archive @@ -13019,7 +13151,7 @@ package: properties: '>=0.3.1b2' pymatsolver: '>=0.1.1' scipy: '>=0.13' - url: https://files.pythonhosted.org/packages/91/b5/2e8e908c4d1a78d90175a70b4a1c291ef03bd178dd19107a5dd50b203271/simpeg_archive-0.11.0.1-py2.py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/simpeg-archive/0.11.0.1+mira/simpeg_archive-0.11.0.1-py2.py3-none-any.whl hash: sha256: 17cc5ee70b65eeece1ab1f09b54d79c5bfa90a4c4863cc6c517bf97fbaa5a3f6 category: main @@ -13034,59 +13166,53 @@ package: properties: '>=0.3.1b2' pymatsolver: '>=0.1.1' scipy: '>=0.13' - url: https://files.pythonhosted.org/packages/91/b5/2e8e908c4d1a78d90175a70b4a1c291ef03bd178dd19107a5dd50b203271/simpeg_archive-0.11.0.1-py2.py3-none-any.whl + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/simpeg-archive/0.11.0.1+mira/simpeg_archive-0.11.0.1-py2.py3-none-any.whl hash: sha256: 17cc5ee70b65eeece1ab1f09b54d79c5bfa90a4c4863cc6c517bf97fbaa5a3f6 category: main optional: false - name: simpeg-drivers - version: 0.2.0-beta.3 + version: 0.2.0rc1 manager: pip platform: linux-64 dependencies: dask: ==2024.6.* discretize: ==0.10.* distributed: ==2024.6.* - geoapps-utils: '>=0.4.0b1,<0.5.0a.dev' - geoh5py: '>=0.10.0b1,<0.11.0a.dev' - mira-simpeg: '>=0.21.2.1b1,<0.21.2.2a.dev' + geoapps-utils: '>=0.4.0rc1,<0.5.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' + mira-simpeg: '>=0.21.2.1rc1,<0.21.2.2a.dev' numpy: '>=1.26.0,<1.27.0' - octree-creation-app: '>=0.2.0b1,<0.3.0a.dev' - param-sweeps: '>=0.2.0b1,<0.3.0a.dev' + octree-creation-app: '>=0.2.0rc1,<0.3.0a.dev' + param-sweeps: '>=0.2.0rc1,<0.3.0a.dev' pydiso: ==0.1.* pymatsolver: ==0.2.* scipy: '>=1.14.0,<1.15.0' - url: git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/simpeg-drivers/0.2.0-rc.1/simpeg_drivers-0.2.0rc1-py3-none-any.whl hash: - sha256: a00b799be44f8fdbfb78e7df74e74784ea6b8d1b - source: - type: url - url: git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b + sha256: 05b26ce2a8b5434c042984dcc890a3bc8e20ec16285a856a497156b8be10b712 category: main optional: false - name: simpeg-drivers - version: 0.2.0-beta.3 + version: 0.2.0rc1 manager: pip platform: win-64 dependencies: dask: ==2024.6.* discretize: ==0.10.* distributed: ==2024.6.* - geoapps-utils: '>=0.4.0b1,<0.5.0a.dev' - geoh5py: '>=0.10.0b1,<0.11.0a.dev' - mira-simpeg: '>=0.21.2.1b1,<0.21.2.2a.dev' + geoapps-utils: '>=0.4.0rc1,<0.5.0a.dev' + geoh5py: '>=0.10.0rc1,<0.11.0a.dev' + mira-simpeg: '>=0.21.2.1rc1,<0.21.2.2a.dev' numpy: '>=1.26.0,<1.27.0' - octree-creation-app: '>=0.2.0b1,<0.3.0a.dev' - param-sweeps: '>=0.2.0b1,<0.3.0a.dev' + octree-creation-app: '>=0.2.0rc1,<0.3.0a.dev' + param-sweeps: '>=0.2.0rc1,<0.3.0a.dev' pydiso: ==0.1.* pymatsolver: ==0.2.* scipy: '>=1.14.0,<1.15.0' - url: git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b + url: https://mirageoscienceltd.jfrog.io/artifactory/api/pypi/public-pypi-dev/simpeg-drivers/0.2.0-rc.1/simpeg_drivers-0.2.0rc1-py3-none-any.whl hash: - sha256: a00b799be44f8fdbfb78e7df74e74784ea6b8d1b - source: - type: url - url: git+https://github.com/MiraGeoscience/simpeg-drivers.git@a00b799be44f8fdbfb78e7df74e74784ea6b8d1b + sha256: 05b26ce2a8b5434c042984dcc890a3bc8e20ec16285a856a497156b8be10b712 category: main optional: false - name: surface-apps @@ -13101,12 +13227,12 @@ package: scikit-image: ==0.24.* scipy: '>=1.14.0,<1.15.0' tqdm: '>=4.66.1,<4.67.0' - url: git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + url: git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e hash: - sha256: a4a1c05138e63356391463a7c90d217216bb1dee + sha256: 784aa96fdf5c8ec9e5d4b368d20703e875ee161e source: type: url - url: git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + url: git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e category: main optional: false - name: surface-apps @@ -13121,11 +13247,11 @@ package: scikit-image: ==0.24.* scipy: '>=1.14.0,<1.15.0' tqdm: '>=4.66.1,<4.67.0' - url: git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + url: git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e hash: - sha256: a4a1c05138e63356391463a7c90d217216bb1dee + sha256: 784aa96fdf5c8ec9e5d4b368d20703e875ee161e source: type: url - url: git+https://github.com/MiraGeoscience/surface-apps.git@a4a1c05138e63356391463a7c90d217216bb1dee + url: git+https://github.com/MiraGeoscience/surface-apps.git@784aa96fdf5c8ec9e5d4b368d20703e875ee161e category: main optional: false diff --git a/pyproject.toml b/pyproject.toml index 70d8a37a1..33e3e7e9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,8 +86,8 @@ param-sweeps = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prer curve-apps = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} #curve-apps = {git = "https://github.com/MiraGeoscience/curve-apps.git", rev = "release/0.2.0"} -surface-apps = {version = ">=0.1.0rc1, <0.2.0a.dev", source = "pypi", allow-prereleases = true} -#surface-apps = {git = "https://github.com/MiraGeoscience/surface-apps.git", rev = "release/0.1.0"} +#surface-apps = {version = ">=0.1.0rc1, <0.2.0a.dev", source = "pypi", allow-prereleases = true} +surface-apps = {git = "https://github.com/MiraGeoscience/surface-apps.git", rev = "release/0.1.0"} octree-creation-app = {version = ">=0.2.0rc1, <0.3.0a.dev", source = "pypi", allow-prereleases = true} #octree-creation-app = {git = "https://github.com/MiraGeoscience/octree-creation-app.git", rev = "release/0.2.0"} From fc6c3f97cdd67a75c54b77d71f7308027f2607a1 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Wed, 15 Jan 2025 12:24:16 -0800 Subject: [PATCH 17/22] Fix imports --- geoapps/peak_finder/application.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/geoapps/peak_finder/application.py b/geoapps/peak_finder/application.py index 4b93edd21..dcdb6c30f 100644 --- a/geoapps/peak_finder/application.py +++ b/geoapps/peak_finder/application.py @@ -22,7 +22,6 @@ from peak_finder.dash_application import ObjectSelection from peak_finder.params import PeakFinderParams -from geoapps.base.dash_application import ObjectSelection from geoapps.base.selection import ObjectDataSelection from geoapps.peak_finder.constants import app_initializer @@ -107,4 +106,4 @@ def trigger_click(self, _): Trigger the application """ new_params = self.collect_parameter_values() - ObjectSelection.run("Peak Finder", DashPeakFinder, new_params.input_file) + ObjectSelection.run("Peak Finder", DashPeakFinder, new_params) From 993ce0be0a523f176ac4708e0e09621d6ae96695 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Wed, 15 Jan 2025 13:16:29 -0800 Subject: [PATCH 18/22] Clean out duplicates --- geoapps/driver_base/utils.py | 149 ------------- geoapps/utils/models.py | 397 +---------------------------------- geoapps/utils/testing.py | 5 +- tests/utils_test.py | 169 +-------------- 4 files changed, 13 insertions(+), 707 deletions(-) delete mode 100644 geoapps/driver_base/utils.py diff --git a/geoapps/driver_base/utils.py b/geoapps/driver_base/utils.py deleted file mode 100644 index 6652082f2..000000000 --- a/geoapps/driver_base/utils.py +++ /dev/null @@ -1,149 +0,0 @@ -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -# Copyright (c) 2024-2025 Mira Geoscience Ltd. ' -# ' -# This file is part of geoapps. ' -# ' -# geoapps is distributed under the terms and conditions of the MIT License ' -# (see LICENSE file at the root of this source code package). ' -# '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -from __future__ import annotations - -import numpy as np -from geoh5py.objects import DrapeModel, Octree -from scipy.interpolate import LinearNDInterpolator, NearestNDInterpolator -from scipy.spatial import Delaunay, cKDTree - - -def running_mean( - values: np.array, width: int = 1, method: str = "centered" -) -> np.array: - """ - Compute a running mean of an array over a defined width. - - :param values: Input values to compute the running mean over - :param width: Number of neighboring values to be used - :param method: Choice between 'forward', 'backward' and ['centered'] averaging. - - :return mean_values: Averaged array values of shape(values, ) - """ - # Averaging vector (1/N) - weights = np.r_[np.zeros(width + 1), np.ones_like(values)] - sum_weights = np.cumsum(weights) - - mean = np.zeros_like(values) - - # Forward averaging - if method in ["centered", "forward"]: - padded = np.r_[np.zeros(width + 1), values] - cumsum = np.cumsum(padded) - mean += (cumsum[(width + 1) :] - cumsum[: (-width - 1)]) / ( - sum_weights[(width + 1) :] - sum_weights[: (-width - 1)] - ) - - # Backward averaging - if method in ["centered", "backward"]: - padded = np.r_[np.zeros(width + 1), values[::-1]] - cumsum = np.cumsum(padded) - mean += ( - (cumsum[(width + 1) :] - cumsum[: (-width - 1)]) - / (sum_weights[(width + 1) :] - sum_weights[: (-width - 1)]) - )[::-1] - - if method == "centered": - mean /= 2.0 - - return mean - - -def treemesh_2_octree(workspace, treemesh, **kwargs): - index_array, levels = treemesh._ubc_indArr - ubc_order = treemesh._ubc_order - - index_array = index_array[ubc_order] - 1 - levels = levels[ubc_order] - - origin = treemesh.x0.copy() - origin[2] += treemesh.h[2].size * treemesh.h[2][0] - mesh_object = Octree.create( - workspace, - origin=origin, - u_count=treemesh.h[0].size, - v_count=treemesh.h[1].size, - w_count=treemesh.h[2].size, - u_cell_size=treemesh.h[0][0], - v_cell_size=treemesh.h[1][0], - w_cell_size=-treemesh.h[2][0], - octree_cells=np.c_[index_array, levels], - **kwargs, - ) - - return mesh_object - - -def cell_size_z(drape_model: DrapeModel) -> np.ndarray: - """Compute z cell sizes of drape model.""" - hz = [] - for prism in drape_model.prisms: - top_z, top_layer, n_layers = prism[2:] - bottoms = drape_model.layers[ - range(int(top_layer), int(top_layer + n_layers)), 2 - ] - z = np.hstack([top_z, bottoms]) - hz.append(z[:-1] - z[1:]) - return np.hstack(hz) - - -def active_from_xyz( - mesh: DrapeModel | Octree, - topo: np.ndarray, - grid_reference="center", - method="linear", -): - """Returns an active cell index array below a surface - - :param mesh: Mesh object - :param topo: Array of xyz locations - :param grid_reference: Cell reference. Must be "center", "top", or "bottom" - :param method: Interpolation method. Must be "linear", or "nearest" - """ - - mesh_dim = 2 if isinstance(mesh, DrapeModel) else 3 - locations = mesh.centroids.copy() - - if method == "linear": - delaunay_2d = Delaunay(topo[:, :-1]) - z_interpolate = LinearNDInterpolator(delaunay_2d, topo[:, -1]) - elif method == "nearest": - z_interpolate = NearestNDInterpolator(topo[:, :-1], topo[:, -1]) - else: - raise ValueError("Method must be 'linear', or 'nearest'") - - if mesh_dim == 2: - z_offset = cell_size_z(mesh) / 2.0 - else: - z_offset = mesh.octree_cells["NCells"] * np.abs(mesh.w_cell_size) / 2 - - # Shift cell center location to top or bottom of cell - if grid_reference == "top": - locations[:, -1] += z_offset - elif grid_reference == "bottom": - locations[:, -1] -= z_offset - elif grid_reference == "center": - pass - else: - raise ValueError("'grid_reference' must be one of 'center', 'top', or 'bottom'") - - z_locations = z_interpolate(locations[:, :2]) - - # Apply nearest neighbour if in extrapolation - ind_nan = np.isnan(z_locations) - if any(ind_nan): - tree = cKDTree(topo) - _, ind = tree.query(locations[ind_nan, :]) - z_locations[ind_nan] = topo[ind, -1] - - # fill_nan(locations, z_locations, filler=topo[:, -1]) - - # Return the active cell array - return locations[:, -1] < z_locations diff --git a/geoapps/utils/models.py b/geoapps/utils/models.py index f7269a6f8..a151dbb0f 100644 --- a/geoapps/utils/models.py +++ b/geoapps/utils/models.py @@ -12,406 +12,13 @@ from warnings import warn import numpy as np -from discretize import TensorMesh, TreeMesh +from discretize import TreeMesh from discretize.utils import mesh_utils -from geoh5py.groups import Group -from geoh5py.objects import BlockModel, DrapeModel, Octree -from geoh5py.shared import INTEGER_NDV +from geoh5py.objects import BlockModel, Octree from geoh5py.shared.utils import fetch_active_workspace from geoh5py.workspace import Workspace -from scipy.interpolate import interp1d from scipy.spatial import cKDTree -from geoapps.block_model_creation.driver import BlockModelDriver -from geoapps.driver_base.utils import running_mean -from geoapps.shared_utils.utils import octree_2_treemesh, rotate_xyz -from geoapps.utils.surveys import compute_alongline_distance, traveling_salesman - - -def drape_to_octree( - octree: Octree, - drape_model: DrapeModel | list[DrapeModel], - children: dict[str, list[str]], - active: np.ndarray, - method: str = "lookup", -) -> Octree: - """ - Interpolate drape model(s) into octree mesh. - - :param octree: Octree mesh to transfer values into - :param drape_model: Drape model(s) whose values will be transferred - into 'octree'. - :param children: Dictionary containing a label and the associated - names of the children in 'drape_model' to transfer into 'octree'. - :param active: Active cell array for 'octree' model. - :param method: Use 'lookup' to for a containing cell lookup method, or - 'nearest' for a nearest neighbor search method to transfer values - - :returns octree: Input octree mesh augmented with 'children' data from - 'drape_model' transferred onto cells using the prescribed 'method'. - - """ - if method not in ["nearest", "lookup"]: - raise ValueError(f"Method must be 'nearest' or 'lookup'. Provided {method}.") - - if isinstance(drape_model, DrapeModel): - drape_model = [drape_model] - - if any(len(v) != len(drape_model) for v in children.values()): - raise ValueError( - f"Number of names and drape models must match. " - f"Provided {len(children)} names and {len(drape_model)} models." - ) - - if method == "nearest": - # create tree to search nearest neighbors in stacked drape model - tree = cKDTree(np.vstack([d.centroids for d in drape_model])) - _, lookup_inds = tree.query(octree.centroids) - else: - mesh = octree_2_treemesh(octree) - - # perform interpolation using nearest neighbor or lookup method - for label, names in children.items(): - octree_model = ( - [] if method == "nearest" else np.array([np.nan] * octree.n_cells) - ) - for ind, model in enumerate(drape_model): - datum = [k for k in model.children if k.name == names[ind]] - if len(datum) > 1: - raise ValueError( - f"Found more than one data set with name {names[ind]} in" - f"model {model.name}." - ) - if method == "nearest": - octree_model.append(datum[0].values) - else: - lookup_inds = mesh._get_containing_cell_indexes( # pylint: disable=W0212 - model.centroids - ) - octree_model[lookup_inds] = datum[0].values - - if method == "nearest": - octree_model = np.hstack(octree_model)[lookup_inds] - else: - octree_model = octree_model[mesh._ubc_order] # pylint: disable=W0212 - - if np.issubdtype(octree_model.dtype, np.integer): - octree_model[~active] = INTEGER_NDV - else: - octree_model[~active] = np.nan # apply active cells - - octree.add_data({label: {"values": octree_model}}) - - return octree - - -def floating_active(mesh: TensorMesh | TreeMesh, active: np.ndarray): - """ - True if there are any active cells in the air - - :param mesh: Tree mesh object - :param active: active cells array - """ - if not isinstance(mesh, (TreeMesh, TensorMesh)): - raise TypeError("Input mesh must be of type TreeMesh or TensorMesh.") - - if mesh.dim == 2: - gradient = mesh.stencil_cell_gradient_y - else: - gradient = mesh.stencil_cell_gradient_z - - return any(gradient * active > 0) - - -def get_drape_model( - workspace: Workspace, - name: str, - locations: np.ndarray, - h: list, - depth_core: float, - pads: list, - expansion_factor: float, - parent: Group | None = None, - return_colocated_mesh: bool = False, - return_sorting: bool = False, -) -> tuple: - """ - Create a BlockModel object from parameters. - - :param workspace: Workspace. - :param parent: Group to contain the result. - :param name: Block model name. - :param locations: Location points. - :param h: Cell size(s) for the core mesh. - :param depth_core: Depth of core mesh below locs. - :param pads: len(6) Padding distances [W, E, N, S, Down, Up] - :param expansion_factor: Expansion factor for padding cells. - :param return_colocated_mesh: If true return TensorMesh. - :param return_sorting: If true, return the indices required to map - values stored in the TensorMesh to the drape model. - - :return object_out: Output block model. - """ - - locations = BlockModelDriver.truncate_locs_depths(locations, depth_core) - depth_core = BlockModelDriver.minimum_depth_core(locations, depth_core, h[1]) - order = traveling_salesman(locations) - - # Smooth the locations - xy_smooth = np.vstack( - [ - np.c_[locations[order[0], :]].T, - np.c_[ - running_mean(locations[order, 0], 2), - running_mean(locations[order, 1], 2), - running_mean(locations[order, 2], 2), - ], - np.c_[locations[order[-1], :]].T, - ] - ) - distances = compute_alongline_distance(xy_smooth) - distances[:, -1] += locations[:, 2].max() - distances[:, -1].max() + h[1] - x_interp = interp1d(distances[:, 0], xy_smooth[:, 0], fill_value="extrapolate") - y_interp = interp1d(distances[:, 0], xy_smooth[:, 1], fill_value="extrapolate") - - mesh = mesh_utils.mesh_builder_xyz( - distances, - h, - padding_distance=[ - [pads[0], pads[1]], - [pads[2], pads[3]], - ], - depth_core=depth_core, - expansion_factor=expansion_factor, - mesh_type="tensor", - ) - - cc = mesh.cell_centers - hz = mesh.h[1] - top = np.max(cc[:, 1].reshape(len(hz), -1)[:, 0] + (hz / 2)) - bottoms = cc[:, 1].reshape(len(hz), -1)[:, 0] - (hz / 2) - n_layers = len(bottoms) - - prisms = [] - layers = [] - indices = [] - index = 0 - center_xy = np.c_[x_interp(mesh.cell_centers_x), y_interp(mesh.cell_centers_x)] - for i, (x_center, y_center) in enumerate(center_xy): - prisms.append([float(x_center), float(y_center), top, i * n_layers, n_layers]) - for k, b in enumerate(bottoms): - layers.append([i, k, b]) - indices.append(index) - index += 1 - - prisms = np.vstack(prisms) - layers = np.vstack(layers) - layers[:, 2] = layers[:, 2][::-1] - - model = DrapeModel.create( - workspace, layers=layers, name=name, prisms=prisms, parent=parent - ) - model.add_data( - { - "indices": { - "values": np.array(indices, dtype=np.int32), - "association": "CELL", - } - } - ) - val = [model] - if return_colocated_mesh: - val.append(mesh) - if return_sorting: - sorting = np.arange(mesh.n_cells) - sorting = sorting.reshape(mesh.shape_cells[1], mesh.shape_cells[0], order="C") - sorting = sorting[::-1].T.flatten() - val.append(sorting) - return val - - -class RectangularBlock: - """ - Define a rotated rectangular block in 3D space - :param length: U-size of the block - :param width: V-size of the block - :param depth: W-size of the block - :param center: Position of the prism center - :param dip: Orientation of the u-axis in degree from horizontal - :param azimuth: Orientation of the u axis in degree from north - :param reference: Point of rotation to be 'center' or 'top' - """ - - def __init__(self, **kwargs): - self._center: list[float] = [0.0, 0.0, 0.0] - self._length: float = 1.0 - self._width: float = 1.0 - self._depth: float = 1.0 - self._dip: float = 0.0 - self._azimuth: float = 0.0 - self._vertices: np.ndarray | None = None - self._reference: str = "center" - self.triangles: np.ndarray = np.vstack( - [ - [0, 2, 1], - [1, 2, 3], - [0, 1, 4], - [4, 1, 5], - [1, 3, 5], - [5, 3, 7], - [2, 6, 3], - [3, 6, 7], - [0, 4, 2], - [2, 4, 6], - [4, 5, 6], - [6, 5, 7], - ] - ) - - for attr, item in kwargs.items(): - try: - setattr(self, attr, item) - except AttributeError: - continue - - @property - def center(self) -> list[float]: - """Prism center""" - return self._center - - @center.setter - def center(self, value: list[float]): - if not isinstance(value, list) or len(value) != 3: - raise ValueError( - "Input value for 'center' must be a list of floats len(3)." - ) - self._center = value - self._vertices = None - - @property - def length(self) -> float: - """U-size of the block""" - return self._length - - @length.setter - def length(self, value): - if not isinstance(value, float) or value < 0: - raise ValueError("Input value for 'length' must be a float >0.") - - self._length = value - self._vertices = None - - @property - def width(self) -> float: - """V-size of the block""" - return self._width - - @width.setter - def width(self, value): - if not isinstance(value, float) or value < 0: - raise ValueError("Input value for 'width' must be a float >0.") - - self._width = value - self._vertices = None - - @property - def depth(self) -> float: - """W-size of the block""" - return self._depth - - @depth.setter - def depth(self, value): - if not isinstance(value, float) or value < 0: - raise ValueError("Input value for 'depth' must be a float >0.") - - self._depth = value - self._vertices = None - - @property - def dip(self) -> float: - """Orientation of the u-axis in degree from horizontal""" - return self._dip - - @dip.setter - def dip(self, value): - if not isinstance(value, float) or value < -90.0 or value > 90.0: - raise ValueError( - "Input value for 'dip' must be a float on the interval [-90, 90] degrees." - ) - - self._dip = value - self._vertices = None - - @property - def azimuth(self) -> float: - """Orientation of the u axis in degree from north""" - return self._azimuth - - @azimuth.setter - def azimuth(self, value): - if not isinstance(value, float) or value < -360.0 or value > 360.0: - raise ValueError( - "Input value for 'azimuth' must be a float on the interval [-360, 360] degrees." - ) - - self._azimuth = value - self._vertices = None - - @property - def reference(self) -> str: - """Point of rotation to be 'center' or 'top'""" - return self._reference - - @reference.setter - def reference(self, value: str): - if not isinstance(value, str) or value not in ["center", "top"]: - raise ValueError( - "Input value for 'reference' point should be a str from ['center', 'top']." - ) - self._reference = value - self._vertices = None - - @property - def vertices(self) -> np.ndarray | None: - """ - Prism eight corners in 3D space - """ - - if getattr(self, "_vertices", None) is None: - x1, x2 = [ - -self.length / 2.0 + self.center[0], - self.length / 2.0 + self.center[0], - ] - y1, y2 = [ - -self.width / 2.0 + self.center[1], - self.width / 2.0 + self.center[1], - ] - z1, z2 = [ - -self.depth / 2.0 + self.center[2], - self.depth / 2.0 + self.center[2], - ] - - block_xyz = np.asarray( - [ - [x1, x2, x1, x2, x1, x2, x1, x2], - [y1, y1, y2, y2, y1, y1, y2, y2], - [z1, z1, z1, z1, z2, z2, z2, z2], - ] - ) - - theta = (450.0 - np.asarray(self.azimuth)) % 360.0 - phi = -self.dip - xyz = rotate_xyz(block_xyz.T, self.center, theta, phi) - - if self.reference == "top": - offset = np.mean(xyz[4:, :], axis=0) - self._center - self._center -= offset - xyz -= offset - - self._vertices = xyz - - return self._vertices - def truncate_locs_depths(locs: np.ndarray, depth_core: int) -> np.ndarray: """ diff --git a/geoapps/utils/testing.py b/geoapps/utils/testing.py index eb29166b4..1e3cd6951 100644 --- a/geoapps/utils/testing.py +++ b/geoapps/utils/testing.py @@ -32,11 +32,10 @@ ) from geoh5py.workspace import Workspace from octree_creation_app.driver import OctreeDriver +from octree_creation_app.utils import treemesh_2_octree from scipy.spatial import Delaunay from simpeg import utils - -from geoapps.driver_base.utils import active_from_xyz, treemesh_2_octree -from geoapps.utils.models import get_drape_model +from simpeg_drivers.utils.utils import active_from_xyz, get_drape_model class Geoh5Tester: diff --git a/tests/utils_test.py b/tests/utils_test.py index bda881146..4cc89b4a1 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -9,7 +9,6 @@ from __future__ import annotations -import itertools import os import random from pathlib import Path @@ -17,14 +16,20 @@ import geoh5py.objects import numpy as np import pytest -from discretize import CylindricalMesh, TreeMesh +from discretize import TreeMesh from discretize.utils import mesh_builder_xyz +from geoapps_utils.utils.numerical import running_mean from geoh5py.objects import Curve, Grid2D, Points from geoh5py.workspace import Workspace from octree_creation_app.driver import OctreeDriver -from simpeg_drivers.utils.utils import calculate_2D_trend +from octree_creation_app.utils import treemesh_2_octree +from simpeg_drivers.utils.utils import ( + active_from_xyz, + calculate_2D_trend, + drape_to_octree, + get_drape_model, +) -from geoapps.driver_base.utils import active_from_xyz, running_mean, treemesh_2_octree from geoapps.shared_utils.utils import ( densify_curve, downsample_grid, @@ -33,19 +38,12 @@ filter_xy, get_locations, get_neighbouring_cells, - octree_2_treemesh, rotate_xyz, weighted_average, window_xy, ) from geoapps.utils import warn_module_not_found from geoapps.utils.list import find_value, sorted_alphanumeric_list -from geoapps.utils.models import ( - RectangularBlock, - drape_to_octree, - floating_active, - get_drape_model, -) from geoapps.utils.statistics import is_outlier from geoapps.utils.string import string_to_numeric from geoapps.utils.surveys import ( @@ -133,40 +131,6 @@ def test_drape_to_octree(tmp_path: Path): assert np.allclose(np.array([10, 100]), np.unique(data[~np.isnan(data)])) -def test_floating_active(): - mesh = CylindricalMesh([[10] * 16, [np.pi] * 2], [0, 0]) - with pytest.raises( - TypeError, match="Input mesh must be of type TreeMesh or TensorMesh." - ): - floating_active(mesh, np.zeros(mesh.n_cells)) - - # Test 3D case - mesh = TreeMesh([[10] * 16, [10] * 16, [10] * 16], [0, 0, 0]) - mesh.insert_cells([100, 100, 100], mesh.max_level, finalize=True) - centers = mesh.cell_centers - active = np.zeros(mesh.n_cells) - active[centers[:, 2] < 75] = 1 - assert not floating_active(mesh, active) - active[49] = 1 - assert floating_active(mesh, active) - - # Test 2D case - mesh = TreeMesh([[10] * 16, [10] * 16], [0, 0]) - mesh.insert_cells([100, 100], mesh.max_level, finalize=True) - centers = mesh.cell_centers - active = np.zeros(mesh.n_cells) - active[centers[:, 1] < 75] = 1 - assert not floating_active(mesh, active) - active[21] = 1 # Small cells - assert floating_active(mesh, active) - active[21] = 0 - active[23] = 1 # Large cell with hanging faces - assert floating_active(mesh, active) - active[21] = 0 - active[27] = 1 # Corner cell - assert floating_active(mesh, active) - - def test_get_drape_model(tmp_path: Path): ws = Workspace.create(tmp_path / "test.geoh5") x = np.arange(11) @@ -297,102 +261,6 @@ def test_split_dcip_survey(tmp_path: Path): assert len(surveys) == len(np.unique(line_id)) -def test_rectangular_block(): - block = RectangularBlock( - center=[10.0, 10.0, 10.0], - length=10.0, - width=10.0, - depth=10.0, - dip=0.0, - azimuth=0.0, - ) - vertices = block.vertices.tolist() - assert [15.0, 5.0, 5.0] in vertices - assert [15.0, 15.0, 5.0] in vertices - assert [5.0, 5.0, 5.0] in vertices - assert [5.0, 15.0, 5.0] in vertices - assert [15.0, 5.0, 15.0] in vertices - assert [15.0, 15.0, 15.0] in vertices - assert [5.0, 5.0, 15.0] in vertices - assert [5.0, 15.0, 15.0] in vertices - - block = RectangularBlock( - center=[0.0, 0.0, 0.0], length=0.0, width=10.0, depth=0.0, dip=45.0, azimuth=0.0 - ) - pos = (5 * np.cos(np.deg2rad(45))).round(5) - vertices = block.vertices.round(5).tolist() - assert [pos, 0.0, pos] in vertices - assert [-pos, 0.0, -pos] in vertices - - block = RectangularBlock( - center=[0.0, 0.0, 0.0], - length=0.0, - width=0.0, - depth=10.0, - dip=0.0, - azimuth=90.0, - reference="top", - ) - vertices = block.vertices.round(5).tolist() - assert [0.0, 0.0, -10.0] in vertices - assert [0.0, 0.0, 0.0] in vertices - - block = RectangularBlock( - center=[0.0, 0.0, 0.0], - length=10.0, - width=10.0, - depth=10.0, - dip=0.0, - azimuth=45.0, - ) - - pos = (10 * np.cos(np.deg2rad(45))).round(5) - vertices = block.vertices.round(5).tolist() - assert [0.0, -pos, -5.0] in vertices - assert [pos, 0.0, -5.0] in vertices - assert [-pos, 0.0, -5.0] in vertices - assert [0.0, pos, -5.0] in vertices - assert [0.0, -pos, 5.0] in vertices - assert [pos, 0.0, 5.0] in vertices - assert [-pos, 0.0, 5.0] in vertices - assert [0.0, pos, 5.0] in vertices - - with pytest.raises(ValueError) as error: - block.center = -180.0 - - assert "Input value for 'center' must be a list of floats len(3)." in str(error) - - for attr in ["length", "width", "depth"]: - with pytest.raises(ValueError) as error: - setattr(block, attr, -10.0) - - assert f"Input value for '{attr}' must be a float >0." in str(error) - - with pytest.raises(ValueError) as error: - block.dip = -180.0 - - assert ( - "Input value for 'dip' must be a float on the interval [-90, 90] degrees." - in str(error) - ) - - with pytest.raises(ValueError) as error: - block.azimuth = -450.0 - - assert ( - "Input value for 'azimuth' must be a float on the interval [-360, 360] degrees." - in str(error) - ) - - with pytest.raises(ValueError) as error: - block.reference = "abc" - - assert ( - "Input value for 'reference' point should be a str from ['center', 'top']." - in str(error) - ) - - def test_find_value(): labels = ["inversion_01_model", "inversion_01_data", "inversion_02_model"] assert find_value(labels, ["data"]) == "inversion_01_data" @@ -713,25 +581,6 @@ def test_drape_2_tensormesh(tmp_path: Path): assert np.allclose(new_tensor.cell_centers, tensor.cell_centers) -def test_octree_2_treemesh(tmp_path: Path): - geotest = Geoh5Tester(geoh5, tmp_path, "test.geoh5") - with geotest.make() as workspace: - mesh = TreeMesh([[10] * 4, [10] * 4, [10] * 4], [0, 0, 0]) - mesh.insert_cells([5, 5, 5], mesh.max_level, finalize=True) - omesh = treemesh_2_octree(workspace, mesh) - for prod in itertools.product("uvw", repeat=3): - omesh.origin = [0, 0, 0] - for axis in "uvw": - attr = axis + "_cell_size" - setattr(omesh, attr, np.abs(getattr(omesh, attr))) - for axis in np.unique(prod): - attr = axis + "_cell_size" - setattr(omesh, attr, -1 * getattr(omesh, attr)) - omesh.origin["xyz"["uvw".find(axis)]] = 40 - tmesh = octree_2_treemesh(omesh) - assert np.all((tmesh.cell_centers - mesh.cell_centers) < 1e-14) - - def test_window_xy(): x, y = np.meshgrid(np.arange(11), np.arange(11)) x = x.ravel() From 481fff09288e078b1bbc4fc7608b39a66bb6188b Mon Sep 17 00:00:00 2001 From: dominiquef Date: Wed, 15 Jan 2025 13:32:42 -0800 Subject: [PATCH 19/22] Set _param_class in base --- geoapps/base/application.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/geoapps/base/application.py b/geoapps/base/application.py index efc11647b..0cc26759d 100644 --- a/geoapps/base/application.py +++ b/geoapps/base/application.py @@ -28,6 +28,7 @@ from geoh5py.ui_json import InputFile from geoh5py.ui_json.utils import monitored_directory_copy from geoh5py.workspace import Workspace +from simpeg_drivers.params import InversionBaseParams from traitlets import TraitError from geoapps.utils import warn_module_not_found @@ -54,6 +55,7 @@ class BaseApplication: Base class for geoapps applications """ + _param_class: type[InversionBaseParams] | None = None _h5file = None _main = None _workspace = None @@ -183,8 +185,8 @@ def file_browser_change(self, _): if isinstance(self.geoh5, Workspace): self.geoh5.close() - if extension == ".json" and getattr(self, "_param_class", None) is not None: - self.params = self._param_class( + if extension == ".json" and self._param_class is not None: + self.params = self._param_class( # pylint: disable=not-callable InputFile.read_ui_json(self.file_browser.selected) ) self.refresh.value = False From 6d656ad921db8fad7f93e5040dc3a794d80b36de Mon Sep 17 00:00:00 2001 From: dominiquef Date: Wed, 15 Jan 2025 13:40:38 -0800 Subject: [PATCH 20/22] Remove redundant treemesh_2_octree --- tests/utils_test.py | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/tests/utils_test.py b/tests/utils_test.py index 4cc89b4a1..458e1cac6 100644 --- a/tests/utils_test.py +++ b/tests/utils_test.py @@ -53,7 +53,7 @@ new_neighbors, split_dcip_survey, ) -from geoapps.utils.testing import Geoh5Tester, generate_dc_survey +from geoapps.utils.testing import generate_dc_survey from geoapps.utils.workspace import sorted_children_dict from . import PROJECT @@ -528,31 +528,6 @@ def test_weigted_average(): assert out[0] == 2 -def test_treemesh_2_octree(tmp_path: Path): - geotest = Geoh5Tester(geoh5, tmp_path, "test.geoh5") - with geotest.make() as workspace: - mesh = TreeMesh([[10] * 16, [10] * 4, [10] * 8], [0, 0, 0]) - mesh.insert_cells([10, 10, 10], mesh.max_level, finalize=True) - omesh = treemesh_2_octree(workspace, mesh, name="test_mesh") - assert omesh.n_cells == mesh.n_cells - assert np.all((omesh.centroids - mesh.cell_centers[mesh._ubc_order]) < 1e-14) - expected_refined_cells = [ - (0, 0, 6), - (0, 0, 7), - (1, 0, 6), - (1, 0, 7), - (0, 1, 6), - (0, 1, 7), - (1, 1, 6), - (1, 1, 7), - ] - ijk_refined = omesh.octree_cells[["I", "J", "K"]][ - omesh.octree_cells["NCells"] == 1 - ].tolist() - assert np.all([k in ijk_refined for k in expected_refined_cells]) - assert np.all([k in expected_refined_cells for k in ijk_refined]) - - def test_drape_2_tensormesh(tmp_path: Path): ws = Workspace.create(tmp_path / "test.geoh5") x = np.linspace(358600, 359500, 10) From c8257076d4626549f77e41c634889405056407ff Mon Sep 17 00:00:00 2001 From: dominiquef Date: Wed, 15 Jan 2025 13:50:59 -0800 Subject: [PATCH 21/22] Fix access to receiver_offset_z --- geoapps/inversion/electricals/application.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoapps/inversion/electricals/application.py b/geoapps/inversion/electricals/application.py index c44319add..c30743f35 100644 --- a/geoapps/inversion/electricals/application.py +++ b/geoapps/inversion/electricals/application.py @@ -239,7 +239,7 @@ def __init__(self, ui_json=None, plot_result=True, **kwargs): object_types=self._object_types, exclusion_types=self._exclusion_types, add_xyz=False, - receivers_offset_z=self.defaults["receivers_offset_z"], + receivers_offset_z=self.defaults.get("receivers_offset_z", 0.0), z_from_topo=self.defaults["z_from_topo"], receivers_radar_drape=self.defaults["receivers_radar_drape"], ) From 3f61add3105259794c5ab35b7d6432a1ad524d09 Mon Sep 17 00:00:00 2001 From: dominiquef Date: Wed, 15 Jan 2025 14:10:55 -0800 Subject: [PATCH 22/22] One more get --- geoapps/inversion/electricals/application.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geoapps/inversion/electricals/application.py b/geoapps/inversion/electricals/application.py index c30743f35..c322afaa5 100644 --- a/geoapps/inversion/electricals/application.py +++ b/geoapps/inversion/electricals/application.py @@ -241,7 +241,7 @@ def __init__(self, ui_json=None, plot_result=True, **kwargs): add_xyz=False, receivers_offset_z=self.defaults.get("receivers_offset_z", 0.0), z_from_topo=self.defaults["z_from_topo"], - receivers_radar_drape=self.defaults["receivers_radar_drape"], + receivers_radar_drape=self.defaults.get("receivers_radar_drape", None), ) self._alpha_s = widgets.FloatText( min=0,