From c9fcaa18ff0a88178868ead5caf7a94f52f0927b Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Wed, 11 Jan 2023 17:35:32 +0100 Subject: [PATCH 01/27] FIX propagate configuration to workers in parallel --- doc/whats_new/v1.2.rst | 10 +++ sklearn/calibration.py | 3 +- sklearn/cluster/_mean_shift.py | 3 +- sklearn/compose/_column_transformer.py | 3 +- sklearn/covariance/_graph_lasso.py | 3 +- sklearn/decomposition/_dict_learning.py | 4 +- sklearn/decomposition/_lda.py | 4 +- sklearn/ensemble/_bagging.py | 4 +- sklearn/ensemble/_forest.py | 3 +- sklearn/ensemble/_stacking.py | 3 +- sklearn/ensemble/_voting.py | 4 +- sklearn/feature_selection/_rfe.py | 4 +- sklearn/inspection/_permutation_importance.py | 3 +- .../inspection/_plot/partial_dependence.py | 3 +- sklearn/linear_model/_coordinate_descent.py | 4 +- sklearn/linear_model/_least_angle.py | 3 +- sklearn/linear_model/_logistic.py | 4 +- sklearn/linear_model/_omp.py | 3 +- sklearn/linear_model/_stochastic_gradient.py | 4 +- sklearn/linear_model/_theil_sen.py | 4 +- sklearn/manifold/_mds.py | 4 +- sklearn/metrics/pairwise.py | 4 +- sklearn/model_selection/_search.py | 3 +- sklearn/model_selection/_validation.py | 4 +- sklearn/multiclass.py | 4 +- sklearn/multioutput.py | 3 +- sklearn/neighbors/_base.py | 4 +- sklearn/neighbors/tests/test_kd_tree.py | 3 +- sklearn/tests/test_config.py | 15 ++-- sklearn/utils/fixes.py | 51 +++++++++++- sklearn/utils/tests/test_fixes.py | 82 ++++++++++++++++++- sklearn/utils/tests/test_parallel.py | 4 +- 32 files changed, 184 insertions(+), 73 deletions(-) diff --git a/doc/whats_new/v1.2.rst b/doc/whats_new/v1.2.rst index 2f8f9dc38d899..746b8114ff226 100644 --- a/doc/whats_new/v1.2.rst +++ b/doc/whats_new/v1.2.rst @@ -9,6 +9,16 @@ Version 1.2.1 **In Development** +Changes impacting all modules +----------------------------- + +- |Fix| Fix a bug where the current configuration was ignored in estimators using + `n_jobs > 1`. This bug was triggered for tasks dispatched by the auxillary + thread of `joblib` as :func:`sklearn.get_config` used to access an empty thread + local configuration instead of the configuration visible from the thread where + `joblib.Parallel` was first called. + :pr:`25290` by :user:`Guillaume Lemaitre `. + Changelog --------- diff --git a/sklearn/calibration.py b/sklearn/calibration.py index 8b3e39e31f3bb..8686ebcc526c2 100644 --- a/sklearn/calibration.py +++ b/sklearn/calibration.py @@ -14,7 +14,6 @@ from math import log import numpy as np -from joblib import Parallel from scipy.special import expit from scipy.special import xlogy @@ -36,7 +35,7 @@ ) from .utils.multiclass import check_classification_targets -from .utils.fixes import delayed +from .utils.fixes import delayed, Parallel from .utils._param_validation import StrOptions, HasMethods, Hidden from .utils.validation import ( _check_fit_params, diff --git a/sklearn/cluster/_mean_shift.py b/sklearn/cluster/_mean_shift.py index f886fe392f4bf..4973bbae3fca2 100644 --- a/sklearn/cluster/_mean_shift.py +++ b/sklearn/cluster/_mean_shift.py @@ -16,13 +16,12 @@ import numpy as np import warnings -from joblib import Parallel from numbers import Integral, Real from collections import defaultdict from ..utils._param_validation import Interval, validate_params from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils import check_random_state, gen_batches, check_array from ..base import BaseEstimator, ClusterMixin from ..neighbors import NearestNeighbors diff --git a/sklearn/compose/_column_transformer.py b/sklearn/compose/_column_transformer.py index e8371da87e0fa..ee1acf3a2143f 100644 --- a/sklearn/compose/_column_transformer.py +++ b/sklearn/compose/_column_transformer.py @@ -12,7 +12,6 @@ import numpy as np from scipy import sparse -from joblib import Parallel from ..base import clone, TransformerMixin from ..utils._estimator_html_repr import _VisualBlock @@ -26,7 +25,7 @@ from ..utils import check_pandas_support from ..utils.metaestimators import _BaseComposition from ..utils.validation import check_array, check_is_fitted, _check_feature_names_in -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel __all__ = ["ColumnTransformer", "make_column_transformer", "make_column_selector"] diff --git a/sklearn/covariance/_graph_lasso.py b/sklearn/covariance/_graph_lasso.py index 6b6116ecce040..fa50130807269 100644 --- a/sklearn/covariance/_graph_lasso.py +++ b/sklearn/covariance/_graph_lasso.py @@ -13,7 +13,6 @@ from numbers import Integral, Real import numpy as np from scipy import linalg -from joblib import Parallel from . import empirical_covariance, EmpiricalCovariance, log_likelihood @@ -23,7 +22,7 @@ check_random_state, check_scalar, ) -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils._param_validation import Interval, StrOptions # mypy error: Module 'sklearn.linear_model' has no attribute '_cd_fast' diff --git a/sklearn/decomposition/_dict_learning.py b/sklearn/decomposition/_dict_learning.py index cfcaf597a9a67..728c6abceb289 100644 --- a/sklearn/decomposition/_dict_learning.py +++ b/sklearn/decomposition/_dict_learning.py @@ -13,7 +13,7 @@ import numpy as np from scipy import linalg -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from ..base import BaseEstimator, TransformerMixin, ClassNamePrefixFeaturesOutMixin from ..utils import check_array, check_random_state, gen_even_slices, gen_batches @@ -22,7 +22,7 @@ from ..utils._param_validation import validate_params from ..utils.extmath import randomized_svd, row_norms, svd_flip from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..linear_model import Lasso, orthogonal_mp_gram, LassoLars, Lars diff --git a/sklearn/decomposition/_lda.py b/sklearn/decomposition/_lda.py index d187611251eda..e0bc211678fc3 100644 --- a/sklearn/decomposition/_lda.py +++ b/sklearn/decomposition/_lda.py @@ -15,13 +15,13 @@ import numpy as np import scipy.sparse as sp from scipy.special import gammaln, logsumexp -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from ..base import BaseEstimator, TransformerMixin, ClassNamePrefixFeaturesOutMixin from ..utils import check_random_state, gen_batches, gen_even_slices from ..utils.validation import check_non_negative from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils._param_validation import Interval, StrOptions from ._online_lda_fast import ( diff --git a/sklearn/ensemble/_bagging.py b/sklearn/ensemble/_bagging.py index fbe54a8afb530..65118d2345995 100644 --- a/sklearn/ensemble/_bagging.py +++ b/sklearn/ensemble/_bagging.py @@ -12,8 +12,6 @@ from warnings import warn from functools import partial -from joblib import Parallel - from ._base import BaseEnsemble, _partition_estimators from ..base import ClassifierMixin, RegressorMixin from ..metrics import r2_score, accuracy_score @@ -25,7 +23,7 @@ from ..utils.random import sample_without_replacement from ..utils._param_validation import Interval, HasMethods, StrOptions from ..utils.validation import has_fit_parameter, check_is_fitted, _check_sample_weight -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel __all__ = ["BaggingClassifier", "BaggingRegressor"] diff --git a/sklearn/ensemble/_forest.py b/sklearn/ensemble/_forest.py index 3e5efd7b038b8..3a1d686081b13 100644 --- a/sklearn/ensemble/_forest.py +++ b/sklearn/ensemble/_forest.py @@ -48,7 +48,6 @@ class calls the ``fit`` method of each sub-estimator on random samples import numpy as np from scipy.sparse import issparse from scipy.sparse import hstack as sparse_hstack -from joblib import Parallel from ..base import is_classifier from ..base import ClassifierMixin, MultiOutputMixin, RegressorMixin, TransformerMixin @@ -66,7 +65,7 @@ class calls the ``fit`` method of each sub-estimator on random samples from ..utils import check_random_state, compute_sample_weight from ..exceptions import DataConversionWarning from ._base import BaseEnsemble, _partition_estimators -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils.multiclass import check_classification_targets, type_of_target from ..utils.validation import ( check_is_fitted, diff --git a/sklearn/ensemble/_stacking.py b/sklearn/ensemble/_stacking.py index 2e3d1b6db5798..11600b95d0faa 100644 --- a/sklearn/ensemble/_stacking.py +++ b/sklearn/ensemble/_stacking.py @@ -8,7 +8,6 @@ from numbers import Integral import numpy as np -from joblib import Parallel import scipy.sparse as sparse from ..base import clone @@ -33,7 +32,7 @@ from ..utils.metaestimators import available_if from ..utils.validation import check_is_fitted from ..utils.validation import column_or_1d -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils._param_validation import HasMethods, StrOptions from ..utils.validation import _check_feature_names_in diff --git a/sklearn/ensemble/_voting.py b/sklearn/ensemble/_voting.py index 2e1e27b3b3de9..7763018758494 100644 --- a/sklearn/ensemble/_voting.py +++ b/sklearn/ensemble/_voting.py @@ -18,8 +18,6 @@ import numpy as np -from joblib import Parallel - from ..base import ClassifierMixin from ..base import RegressorMixin from ..base import TransformerMixin @@ -36,7 +34,7 @@ from ..utils._param_validation import StrOptions from ..exceptions import NotFittedError from ..utils._estimator_html_repr import _VisualBlock -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel class _BaseVoting(TransformerMixin, _BaseHeterogeneousEnsemble): diff --git a/sklearn/feature_selection/_rfe.py b/sklearn/feature_selection/_rfe.py index a025fe7c36490..2d2dc9176e9cb 100644 --- a/sklearn/feature_selection/_rfe.py +++ b/sklearn/feature_selection/_rfe.py @@ -8,7 +8,7 @@ import numpy as np from numbers import Integral, Real -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from ..utils.metaestimators import available_if @@ -16,7 +16,7 @@ from ..utils._param_validation import HasMethods, Interval from ..utils._tags import _safe_tags from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..base import BaseEstimator from ..base import MetaEstimatorMixin from ..base import clone diff --git a/sklearn/inspection/_permutation_importance.py b/sklearn/inspection/_permutation_importance.py index 63ab4f69968d8..35835c74bdad9 100644 --- a/sklearn/inspection/_permutation_importance.py +++ b/sklearn/inspection/_permutation_importance.py @@ -1,7 +1,6 @@ """Permutation importance for estimators.""" import numbers import numpy as np -from joblib import Parallel from ..ensemble._bagging import _generate_indices from ..metrics import check_scoring @@ -10,7 +9,7 @@ from ..utils import Bunch, _safe_indexing from ..utils import check_random_state from ..utils import check_array -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel def _weights_scorer(scorer, estimator, X, y, sample_weight): diff --git a/sklearn/inspection/_plot/partial_dependence.py b/sklearn/inspection/_plot/partial_dependence.py index e3392eeb911b1..b14d84d0fc1ec 100644 --- a/sklearn/inspection/_plot/partial_dependence.py +++ b/sklearn/inspection/_plot/partial_dependence.py @@ -6,7 +6,6 @@ import numpy as np from scipy import sparse from scipy.stats.mstats import mquantiles -from joblib import Parallel from .. import partial_dependence from .._pd_utils import _check_feature_names, _get_feature_index @@ -16,7 +15,7 @@ from ...utils import check_matplotlib_support # noqa from ...utils import check_random_state from ...utils import _safe_indexing -from ...utils.fixes import delayed +from ...utils.fixes import delayed, Parallel from ...utils._encode import _unique diff --git a/sklearn/linear_model/_coordinate_descent.py b/sklearn/linear_model/_coordinate_descent.py index 4a0fe36deae2d..b5fa901bc6f6d 100644 --- a/sklearn/linear_model/_coordinate_descent.py +++ b/sklearn/linear_model/_coordinate_descent.py @@ -14,7 +14,7 @@ import numpy as np from scipy import sparse -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from ._base import LinearModel, _pre_fit from ..base import RegressorMixin, MultiOutputMixin @@ -31,7 +31,7 @@ column_or_1d, ) from ..utils._readonly_array_wrapper import ReadonlyArrayWrapper -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel # mypy error: Module 'sklearn.linear_model' has no attribute '_cd_fast' from . import _cd_fast as cd_fast # type: ignore diff --git a/sklearn/linear_model/_least_angle.py b/sklearn/linear_model/_least_angle.py index f3b3ba33517b8..a5367a0120689 100644 --- a/sklearn/linear_model/_least_angle.py +++ b/sklearn/linear_model/_least_angle.py @@ -16,7 +16,6 @@ import numpy as np from scipy import linalg, interpolate from scipy.linalg.lapack import get_lapack_funcs -from joblib import Parallel from ._base import LinearModel, LinearRegression from ._base import _deprecate_normalize, _preprocess_data @@ -28,7 +27,7 @@ from ..utils._param_validation import Hidden, Interval, StrOptions from ..model_selection import check_cv from ..exceptions import ConvergenceWarning -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel SOLVE_TRIANGULAR_ARGS = {"check_finite": False} diff --git a/sklearn/linear_model/_logistic.py b/sklearn/linear_model/_logistic.py index 7da70fe7ce048..4ff05274e592d 100644 --- a/sklearn/linear_model/_logistic.py +++ b/sklearn/linear_model/_logistic.py @@ -16,7 +16,7 @@ import numpy as np from scipy import optimize -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from sklearn.metrics import get_scorer_names @@ -34,7 +34,7 @@ from ..utils.optimize import _newton_cg, _check_optimize_result from ..utils.validation import check_is_fitted, _check_sample_weight from ..utils.multiclass import check_classification_targets -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils._param_validation import StrOptions, Interval from ..model_selection import check_cv from ..metrics import get_scorer diff --git a/sklearn/linear_model/_omp.py b/sklearn/linear_model/_omp.py index 819cfbfb21adc..2e0ec1dfbd19e 100644 --- a/sklearn/linear_model/_omp.py +++ b/sklearn/linear_model/_omp.py @@ -12,12 +12,11 @@ import numpy as np from scipy import linalg from scipy.linalg.lapack import get_lapack_funcs -from joblib import Parallel from ._base import LinearModel, _pre_fit, _deprecate_normalize from ..base import RegressorMixin, MultiOutputMixin from ..utils import as_float_array, check_array -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils._param_validation import Hidden, Interval, StrOptions from ..model_selection import check_cv diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index baa4361cac9ef..560cd8cc7a3bc 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -12,8 +12,6 @@ from abc import ABCMeta, abstractmethod from numbers import Integral, Real -from joblib import Parallel - from ..base import clone, is_classifier from ._base import LinearClassifierMixin, SparseCoefMixin from ._base import make_dataset @@ -26,7 +24,7 @@ from ..utils._param_validation import Interval from ..utils._param_validation import StrOptions from ..utils._param_validation import Hidden -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..exceptions import ConvergenceWarning from ..model_selection import StratifiedShuffleSplit, ShuffleSplit diff --git a/sklearn/linear_model/_theil_sen.py b/sklearn/linear_model/_theil_sen.py index ab9c883add0c6..16f4349e8b8e9 100644 --- a/sklearn/linear_model/_theil_sen.py +++ b/sklearn/linear_model/_theil_sen.py @@ -15,13 +15,13 @@ from scipy import linalg from scipy.special import binom from scipy.linalg.lapack import get_lapack_funcs -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from ._base import LinearModel from ..base import RegressorMixin from ..utils import check_random_state from ..utils._param_validation import Interval -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..exceptions import ConvergenceWarning _EPSILON = np.finfo(np.double).eps diff --git a/sklearn/manifold/_mds.py b/sklearn/manifold/_mds.py index bfa4c6160d9ce..bb7b6f2d8bdf5 100644 --- a/sklearn/manifold/_mds.py +++ b/sklearn/manifold/_mds.py @@ -8,7 +8,7 @@ from numbers import Integral, Real import numpy as np -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs import warnings @@ -17,7 +17,7 @@ from ..utils import check_random_state, check_array, check_symmetric from ..isotonic import IsotonicRegression from ..utils._param_validation import Interval, StrOptions, Hidden -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel def _smacof_single( diff --git a/sklearn/metrics/pairwise.py b/sklearn/metrics/pairwise.py index b34722dc25df7..729c3daafee58 100644 --- a/sklearn/metrics/pairwise.py +++ b/sklearn/metrics/pairwise.py @@ -15,7 +15,7 @@ from scipy.spatial import distance from scipy.sparse import csr_matrix from scipy.sparse import issparse -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from .. import config_context from ..utils.validation import _num_samples @@ -27,7 +27,7 @@ from ..utils.extmath import row_norms, safe_sparse_dot from ..preprocessing import normalize from ..utils._mask import _get_mask -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils.fixes import sp_version, parse_version from ._pairwise_distances_reduction import ArgKmin diff --git a/sklearn/model_selection/_search.py b/sklearn/model_selection/_search.py index 7c221ff368798..f0c80b91d3d77 100644 --- a/sklearn/model_selection/_search.py +++ b/sklearn/model_selection/_search.py @@ -33,14 +33,13 @@ from ._validation import _normalize_score_results from ._validation import _warn_or_raise_about_fit_failures from ..exceptions import NotFittedError -from joblib import Parallel from ..utils import check_random_state from ..utils.random import sample_without_replacement from ..utils._param_validation import HasMethods, Interval, StrOptions from ..utils._tags import _safe_tags from ..utils.validation import indexable, check_is_fitted, _check_fit_params from ..utils.metaestimators import available_if -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..metrics._scorer import _check_multimetric_scoring, get_scorer_names from ..metrics import check_scoring diff --git a/sklearn/model_selection/_validation.py b/sklearn/model_selection/_validation.py index 1a13b770cd1c5..a0f5c60566b20 100644 --- a/sklearn/model_selection/_validation.py +++ b/sklearn/model_selection/_validation.py @@ -21,13 +21,13 @@ import numpy as np import scipy.sparse as sp -from joblib import Parallel, logger +from joblib import logger from ..base import is_classifier, clone from ..utils import indexable, check_random_state, _safe_indexing from ..utils.validation import _check_fit_params from ..utils.validation import _num_samples -from ..utils.fixes import delayed +from ..utils.fixes import delayed, Parallel from ..utils.metaestimators import _safe_split from ..metrics import check_scoring from ..metrics._scorer import _check_multimetric_scoring, _MultimetricScorer diff --git a/sklearn/multiclass.py b/sklearn/multiclass.py index 6509bf0990d70..d6a34008a9e19 100644 --- a/sklearn/multiclass.py +++ b/sklearn/multiclass.py @@ -56,9 +56,7 @@ _ovr_decision_function, ) from .utils.metaestimators import _safe_split, available_if -from .utils.fixes import delayed - -from joblib import Parallel +from .utils.fixes import delayed, Parallel __all__ = [ "OneVsRestClassifier", diff --git a/sklearn/multioutput.py b/sklearn/multioutput.py index ba3ddf9572232..7eea8a5cf3b0e 100644 --- a/sklearn/multioutput.py +++ b/sklearn/multioutput.py @@ -17,7 +17,6 @@ import numpy as np import scipy.sparse as sp -from joblib import Parallel from abc import ABCMeta, abstractmethod from .base import BaseEstimator, clone, MetaEstimatorMixin @@ -31,7 +30,7 @@ has_fit_parameter, _check_fit_params, ) -from .utils.fixes import delayed +from .utils.fixes import delayed, Parallel from .utils._param_validation import HasMethods, StrOptions __all__ = [ diff --git a/sklearn/neighbors/_base.py b/sklearn/neighbors/_base.py index 3b01824a3a73a..dea721e52ef98 100644 --- a/sklearn/neighbors/_base.py +++ b/sklearn/neighbors/_base.py @@ -16,7 +16,7 @@ import numpy as np from scipy.sparse import csr_matrix, issparse -from joblib import Parallel, effective_n_jobs +from joblib import effective_n_jobs from ._ball_tree import BallTree from ._kd_tree import KDTree @@ -37,7 +37,7 @@ from ..utils.validation import check_is_fitted from ..utils.validation import check_non_negative from ..utils._param_validation import Interval, StrOptions -from ..utils.fixes import delayed, sp_version +from ..utils.fixes import delayed, sp_version, Parallel from ..utils.fixes import parse_version from ..exceptions import DataConversionWarning, EfficiencyWarning diff --git a/sklearn/neighbors/tests/test_kd_tree.py b/sklearn/neighbors/tests/test_kd_tree.py index d8d9437636d1d..1791b3f0706ba 100644 --- a/sklearn/neighbors/tests/test_kd_tree.py +++ b/sklearn/neighbors/tests/test_kd_tree.py @@ -1,7 +1,6 @@ import numpy as np import pytest -from joblib import Parallel -from sklearn.utils.fixes import delayed +from sklearn.utils.fixes import delayed, Parallel from sklearn.neighbors._kd_tree import KDTree diff --git a/sklearn/tests/test_config.py b/sklearn/tests/test_config.py index a0b8f29662b69..477fb17ac8d3d 100644 --- a/sklearn/tests/test_config.py +++ b/sklearn/tests/test_config.py @@ -1,11 +1,10 @@ import time from concurrent.futures import ThreadPoolExecutor -from joblib import Parallel import pytest from sklearn import get_config, set_config, config_context -from sklearn.utils.fixes import delayed +from sklearn.utils.fixes import delayed, Parallel def test_config_context(): @@ -120,15 +119,15 @@ def test_config_threadsafe_joblib(backend): should be the same as the value passed to the function. In other words, it is not influenced by the other job setting assume_finite to True. """ - assume_finites = [False, True] - sleep_durations = [0.1, 0.2] + assume_finites = [False, True, False, True] + sleep_durations = [0.1, 0.2, 0.1, 0.2] items = Parallel(backend=backend, n_jobs=2)( delayed(set_assume_finite)(assume_finite, sleep_dur) for assume_finite, sleep_dur in zip(assume_finites, sleep_durations) ) - assert items == [False, True] + assert items == [False, True, False, True] def test_config_threadsafe(): @@ -136,8 +135,8 @@ def test_config_threadsafe(): between threads. Same test as `test_config_threadsafe_joblib` but with `ThreadPoolExecutor`.""" - assume_finites = [False, True] - sleep_durations = [0.1, 0.2] + assume_finites = [False, True, False, True] + sleep_durations = [0.1, 0.2, 0.1, 0.2] with ThreadPoolExecutor(max_workers=2) as e: items = [ @@ -145,4 +144,4 @@ def test_config_threadsafe(): for output in e.map(set_assume_finite, assume_finites, sleep_durations) ] - assert items == [False, True] + assert items == [False, True, False, True] diff --git a/sklearn/utils/fixes.py b/sklearn/utils/fixes.py index b43afa950a163..6ef8648db1a22 100644 --- a/sklearn/utils/fixes.py +++ b/sklearn/utils/fixes.py @@ -14,9 +14,11 @@ from importlib import resources import functools import sys +import warnings import sklearn import numpy as np +import joblib import scipy import scipy.stats import threadpoolctl @@ -106,6 +108,39 @@ def _eigh(*args, **kwargs): return scipy.linalg.eigh(*args, eigvals=eigvals, **kwargs) +def _with_config(delayed_func, config): + """Helper function that intends to attach a config to a delayed function.""" + if hasattr(delayed_func, "with_config"): + return delayed_func.with_config(config) + else: + warnings.warn( + "You are using `sklearn.utils.fixes.Parallel` that intend to attached a " + "configuration to a delayed function. However, the function used for " + "delaying the function does not expose `with_config`. Use " + "`sklearn.utils.fixes.delayed` for this purpose. A default configuration " + "is used instead.", + UserWarning, + ) + return delayed_func + + +class Parallel(joblib.Parallel): + # A `Parallel` tweaked class that allows attaching a configuration to each task + # to be run in parallel. + + def __call__(self, iterable): + # Capture the thread-local scikit-learn configuration at the time + # Parallel.__call__ is issued since the tasks can be dispatched + # in a different thread depending on the backend and on the value of + # pre_dispatch and n_jobs. + config = get_config() + iterable_with_config = ( + (_with_config(delayed_func, config), args, kwargs) + for delayed_func, args, kwargs in iterable + ) + return super().__call__(iterable_with_config) + + # remove when https://github.com/joblib/joblib/issues/1071 is fixed def delayed(function): """Decorator used to capture the arguments of a function.""" @@ -122,11 +157,23 @@ class _FuncWrapper: def __init__(self, function): self.function = function - self.config = get_config() update_wrapper(self, self.function) + def with_config(self, config): + self.config = config + return self + def __call__(self, *args, **kwargs): - with config_context(**self.config): + config = getattr(self, "config", None) + if config is None: + warnings.warn( + "You are using `sklearn.utils.fixes.delayed` without using " + "`sklearn.utils.fixes.Parallel`. A default configuration is used " + "instead of propagating the user defined configuration.", + UserWarning, + ) + config = get_config() + with config_context(**config): return self.function(*args, **kwargs) diff --git a/sklearn/utils/tests/test_fixes.py b/sklearn/utils/tests/test_fixes.py index 3566897da5efc..d7f90151e54ae 100644 --- a/sklearn/utils/tests/test_fixes.py +++ b/sklearn/utils/tests/test_fixes.py @@ -4,15 +4,23 @@ # License: BSD 3 clause import math +import time +import joblib import numpy as np import pytest import scipy.stats +from sklearn import config_context, get_config +from sklearn.compose import make_column_transformer +from sklearn.datasets import load_iris +from sklearn.ensemble import RandomForestClassifier +from sklearn.model_selection import GridSearchCV +from sklearn.pipeline import make_pipeline +from sklearn.preprocessing import StandardScaler from sklearn.utils._testing import assert_array_equal -from sklearn.utils.fixes import _object_dtype_isnan -from sklearn.utils.fixes import loguniform +from sklearn.utils.fixes import _object_dtype_isnan, delayed, loguniform, Parallel @pytest.mark.parametrize("dtype, val", ([object, 1], [object, "a"], [float, 1])) @@ -46,3 +54,73 @@ def test_loguniform(low, high, base): assert loguniform(base**low, base**high).rvs(random_state=0) == loguniform( base**low, base**high ).rvs(random_state=0) + + +def get_working_memory(): + return get_config()["working_memory"] + + +def test_parallel_delayed_warnings(): + """Check that we raise warnings with non-desirable mixed of joblib/sklearn + Parallel/delayed calls. + """ + # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel + # with joblib.delayed. The config will not be propagated to the workers. + warn_msg = "Use `sklearn.utils.fixes.delayed` for this purpose" + with pytest.warns(UserWarning, match=warn_msg) as records: + Parallel()(joblib.delayed(time.sleep)(0) for _ in range(10)) + assert len(records) == 10 + + # We should issue a warning if one wants to use sklearn.utils.fixes.delayed with + # joblib.Parallel + warn_msg = "without using `sklearn.utils.fixes.Parallel`" + with pytest.warns(UserWarning, match=warn_msg) as records: + joblib.Parallel()(delayed(time.sleep)(0) for _ in range(10)) + assert len(records) == 10 + + +@pytest.mark.parametrize("n_jobs", [1, 2]) +def test_dispatch_config_parallel(n_jobs): + """Check that we properly dispatch the configuration in parallel processing. + Non-regression test for: + https://github.com/scikit-learn/scikit-learn/issues/25239 + """ + pd = pytest.importorskip("pandas") + iris = load_iris(as_frame=True) + + class TransformerRequiredDataFrame(StandardScaler): + def fit(self, X, y=None): + assert isinstance(X, pd.DataFrame), "X should be a DataFrame" + return super().fit(X, y) + + def transform(self, X, y=None): + assert isinstance(X, pd.DataFrame), "X should be a DataFrame" + return super().transform(X, y) + + dropper = make_column_transformer( + ("drop", [0]), + remainder="passthrough", + n_jobs=n_jobs, + ) + param_grid = {"randomforestclassifier__max_depth": [1, 2, 3]} + search_cv = GridSearchCV( + make_pipeline( + dropper, + TransformerRequiredDataFrame(), + RandomForestClassifier(n_estimators=5, n_jobs=n_jobs), + ), + param_grid, + cv=5, + n_jobs=n_jobs, + error_score="raise", # this search should not fail + ) + + # make sure that `fit` would fail in case we don't request dataframe + with pytest.raises(AssertionError, match="X should be a DataFrame"): + search_cv.fit(iris.data, iris.target) + + with config_context(transform_output="pandas"): + # we expect each intermediate steps to output a DataFrame + search_cv.fit(iris.data, iris.target) + + assert not np.isnan(search_cv.cv_results_["mean_test_score"]).any() diff --git a/sklearn/utils/tests/test_parallel.py b/sklearn/utils/tests/test_parallel.py index dfecd7b464168..713d1f32146d4 100644 --- a/sklearn/utils/tests/test_parallel.py +++ b/sklearn/utils/tests/test_parallel.py @@ -1,10 +1,8 @@ import pytest -from joblib import Parallel - from numpy.testing import assert_array_equal from sklearn._config import config_context, get_config -from sklearn.utils.fixes import delayed +from sklearn.utils.fixes import delayed, Parallel def get_working_memory(): From a10e6da0afdecdc7c12a88adf7205ec7f620a499 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Wed, 11 Jan 2023 17:40:03 +0100 Subject: [PATCH 02/27] update PR --- doc/whats_new/v1.2.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/whats_new/v1.2.rst b/doc/whats_new/v1.2.rst index 746b8114ff226..b02d1a6217ebe 100644 --- a/doc/whats_new/v1.2.rst +++ b/doc/whats_new/v1.2.rst @@ -17,7 +17,7 @@ Changes impacting all modules thread of `joblib` as :func:`sklearn.get_config` used to access an empty thread local configuration instead of the configuration visible from the thread where `joblib.Parallel` was first called. - :pr:`25290` by :user:`Guillaume Lemaitre `. + :pr:`25363` by :user:`Guillaume Lemaitre `. Changelog --------- From 790baa1da322c1f408b2ad159e7aa85c33d8c3e0 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 12 Jan 2023 11:30:49 +0100 Subject: [PATCH 03/27] Apply suggestions from code review Co-authored-by: Olivier Grisel --- sklearn/utils/fixes.py | 19 ++++++++++--------- sklearn/utils/tests/test_fixes.py | 4 +--- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/sklearn/utils/fixes.py b/sklearn/utils/fixes.py index 6ef8648db1a22..613b8c86b0af1 100644 --- a/sklearn/utils/fixes.py +++ b/sklearn/utils/fixes.py @@ -114,19 +114,19 @@ def _with_config(delayed_func, config): return delayed_func.with_config(config) else: warnings.warn( - "You are using `sklearn.utils.fixes.Parallel` that intend to attached a " + "You are using `sklearn.utils.fixes.Parallel` that intend to attach a " "configuration to a delayed function. However, the function used for " "delaying the function does not expose `with_config`. Use " - "`sklearn.utils.fixes.delayed` for this purpose. A default configuration " - "is used instead.", + "`sklearn.utils.fixes.delayed` to correctly propagate the scikit-learn " + "configuration to the joblib workers.", UserWarning, ) return delayed_func class Parallel(joblib.Parallel): - # A `Parallel` tweaked class that allows attaching a configuration to each task - # to be run in parallel. + # A tweaked `Parallel` subclass that attaches the configuration of the current + # thread to each task to be run in parallel. def __call__(self, iterable): # Capture the thread-local scikit-learn configuration at the time @@ -167,12 +167,13 @@ def __call__(self, *args, **kwargs): config = getattr(self, "config", None) if config is None: warnings.warn( - "You are using `sklearn.utils.fixes.delayed` without using " - "`sklearn.utils.fixes.Parallel`. A default configuration is used " - "instead of propagating the user defined configuration.", + "`sklearn.utils.fixes.delayed` should be used with " + "`sklearn.utils.fixes.Parallel` to make it possible to propagate " + "the scikit-learn configuration of the current thread to the " + "joblib workers.", UserWarning, ) - config = get_config() + config = {} with config_context(**config): return self.function(*args, **kwargs) diff --git a/sklearn/utils/tests/test_fixes.py b/sklearn/utils/tests/test_fixes.py index d7f90151e54ae..de9242688ef59 100644 --- a/sklearn/utils/tests/test_fixes.py +++ b/sklearn/utils/tests/test_fixes.py @@ -61,9 +61,7 @@ def get_working_memory(): def test_parallel_delayed_warnings(): - """Check that we raise warnings with non-desirable mixed of joblib/sklearn - Parallel/delayed calls. - """ + """Informative warnings should be raised when mixing sklearn and joblib API""" # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel # with joblib.delayed. The config will not be propagated to the workers. warn_msg = "Use `sklearn.utils.fixes.delayed` for this purpose" From 3ed883250c07de3ce7c0ec1f817877af1600c8e9 Mon Sep 17 00:00:00 2001 From: Olivier Grisel Date: Wed, 11 Jan 2023 16:09:44 +0100 Subject: [PATCH 04/27] MAINT always seed make_classification in tests (#25353) --- sklearn/linear_model/tests/test_logistic.py | 9 ++++++--- sklearn/neighbors/tests/test_nca.py | 12 ++++++------ sklearn/tests/test_metaestimators.py | 6 +++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/sklearn/linear_model/tests/test_logistic.py b/sklearn/linear_model/tests/test_logistic.py index 67498e87b8f5a..63be899a9b39d 100644 --- a/sklearn/linear_model/tests/test_logistic.py +++ b/sklearn/linear_model/tests/test_logistic.py @@ -246,12 +246,15 @@ def test_multinomial_binary(solver): assert np.mean(pred == target) > 0.9 -def test_multinomial_binary_probabilities(): +def test_multinomial_binary_probabilities(global_random_seed): # Test multinomial LR gives expected probabilities based on the # decision function, for a binary problem. - X, y = make_classification(random_state=42) + X, y = make_classification(random_state=global_random_seed) clf = LogisticRegression( - multi_class="multinomial", solver="saga", tol=1e-3, random_state=42 + multi_class="multinomial", + solver="saga", + tol=1e-3, + random_state=global_random_seed, ) clf.fit(X, y) diff --git a/sklearn/neighbors/tests/test_nca.py b/sklearn/neighbors/tests/test_nca.py index de4b4d67c70d5..df2dccc5829c3 100644 --- a/sklearn/neighbors/tests/test_nca.py +++ b/sklearn/neighbors/tests/test_nca.py @@ -89,15 +89,15 @@ def callback(self, transformation, n_iter): assert abs(loss_storer.loss + 1) < 1e-10 -def test_finite_differences(): +def test_finite_differences(global_random_seed): """Test gradient of loss function Assert that the gradient is almost equal to its finite differences approximation. """ # Initialize the transformation `M`, as well as `X` and `y` and `NCA` - rng = np.random.RandomState(42) - X, y = make_classification() + rng = np.random.RandomState(global_random_seed) + X, y = make_classification(random_state=global_random_seed) M = rng.randn(rng.randint(1, X.shape[1] + 1), X.shape[1]) nca = NeighborhoodComponentsAnalysis() nca.n_iter_ = 0 @@ -109,9 +109,9 @@ def fun(M): def grad(M): return nca._loss_grad_lbfgs(M, X, mask)[1] - # compute relative error - rel_diff = check_grad(fun, grad, M.ravel()) / np.linalg.norm(grad(M)) - np.testing.assert_almost_equal(rel_diff, 0.0, decimal=5) + # compare the gradient to a finite difference approximation + diff = check_grad(fun, grad, M.ravel()) + assert diff == pytest.approx(0.0, abs=1e-4) def test_params_validation(): diff --git a/sklearn/tests/test_metaestimators.py b/sklearn/tests/test_metaestimators.py index 0b9fa22179e75..7c7c2d9d7f606 100644 --- a/sklearn/tests/test_metaestimators.py +++ b/sklearn/tests/test_metaestimators.py @@ -26,7 +26,11 @@ class DelegatorData: def __init__( - self, name, construct, skip_methods=(), fit_args=make_classification() + self, + name, + construct, + skip_methods=(), + fit_args=make_classification(random_state=0), ): self.name = name self.construct = construct From c9b5d02f09d91c73e700e75db3a91f9f081f852e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Est=C3=A8ve?= Date: Wed, 11 Jan 2023 17:05:26 +0100 Subject: [PATCH 05/27] MNT minor clean-up of sklearn/conftests.py (#25358) --- sklearn/conftest.py | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/sklearn/conftest.py b/sklearn/conftest.py index 27ac720cbfe2e..90b30506e8cae 100644 --- a/sklearn/conftest.py +++ b/sklearn/conftest.py @@ -132,8 +132,6 @@ def pytest_collection_modifyitems(config, items): ) item.add_marker(marker) - # numpy changed the str/repr formatting of numpy arrays in 1.14. We want to - # run doctests only for numpy >= 1.14. skip_doctests = False try: import matplotlib # noqa @@ -141,18 +139,15 @@ def pytest_collection_modifyitems(config, items): skip_doctests = True reason = "matplotlib is required to run the doctests" - try: - if _IS_32BIT: - reason = "doctest are only run when the default numpy int is 64 bits." - skip_doctests = True - elif sys.platform.startswith("win32"): - reason = ( - "doctests are not run for Windows because numpy arrays " - "repr is inconsistent across platforms." - ) - skip_doctests = True - except ImportError: - pass + if _IS_32BIT: + reason = "doctest are only run when the default numpy int is 64 bits." + skip_doctests = True + elif sys.platform.startswith("win32"): + reason = ( + "doctests are not run for Windows because numpy arrays " + "repr is inconsistent across platforms." + ) + skip_doctests = True # Normally doctest has the entire module's scope. Here we set globs to an empty dict # to remove the module's scope: From ef3ef2f33db7a7b0fd1a5c3f92984475bc5e8ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20du=20Boisberranger?= <34657725+jeremiedbb@users.noreply.github.com> Date: Wed, 11 Jan 2023 17:20:19 +0100 Subject: [PATCH 06/27] CI Remove unused env var (#25359) --- azure-pipelines.yml | 2 -- build_tools/azure/posix-docker.yml | 1 - build_tools/azure/posix.yml | 1 - 3 files changed, 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 7cb800fc63389..31a2c2ecb7dcd 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -66,7 +66,6 @@ jobs: LOCK_FILE: './build_tools/azure/pylatest_pip_scipy_dev_linux-64_conda.lock' CHECK_WARNINGS: 'true' CHECK_PYTEST_SOFT_DEPENDENCY: 'true' - TEST_DOCSTRINGS: 'true' # Tests that require large downloads over the networks are skipped in CI. # Here we make sure, that they are still run on a regular basis. SKLEARN_SKIP_NETWORK_TESTS: '0' @@ -201,7 +200,6 @@ jobs: DISTRIB: 'conda-pip-latest' LOCK_FILE: './build_tools/azure/pylatest_pip_openblas_pandas_linux-64_conda.lock' CHECK_PYTEST_SOFT_DEPENDENCY: 'true' - TEST_DOCSTRINGS: 'true' CHECK_WARNINGS: 'true' SKLEARN_TESTS_GLOBAL_RANDOM_SEED: '3' # non-default seed diff --git a/build_tools/azure/posix-docker.yml b/build_tools/azure/posix-docker.yml index 3b20382310f58..65904a518fbcb 100644 --- a/build_tools/azure/posix-docker.yml +++ b/build_tools/azure/posix-docker.yml @@ -22,7 +22,6 @@ jobs: SKLEARN_SKIP_NETWORK_TESTS: '1' PYTEST_XDIST_VERSION: 'latest' COVERAGE: 'false' - TEST_DOCSTRINGS: 'false' # Set in azure-pipelines.yml DISTRIB: '' DOCKER_CONTAINER: '' diff --git a/build_tools/azure/posix.yml b/build_tools/azure/posix.yml index f93cd6e211231..5469e8d145bdf 100644 --- a/build_tools/azure/posix.yml +++ b/build_tools/azure/posix.yml @@ -24,7 +24,6 @@ jobs: CCACHE_COMPRESS: '1' PYTEST_XDIST_VERSION: 'latest' COVERAGE: 'true' - TEST_DOCSTRINGS: 'false' CREATE_ISSUE_ON_TRACKER: 'true' SHOW_SHORT_SUMMARY: 'false' strategy: From 9b2eb17d1fa407b599821afff4fe5723ccde2e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Est=C3=A8ve?= Date: Wed, 11 Jan 2023 17:35:25 +0100 Subject: [PATCH 07/27] MNT [scipy-dev] [pypy] [azure parallel] update lock files (#25361) --- build_tools/azure/debian_atlas_32bit_lock.txt | 12 +- ...onda_defaults_openblas_linux-64_conda.lock | 44 ++-- .../py38_conda_forge_mkl_win-64_conda.lock | 90 +++++---- ...e_openblas_ubuntu_2204_linux-64_conda.lock | 117 +++++++---- ...latest_conda_forge_mkl_linux-64_conda.lock | 129 ++++++------ ..._forge_mkl_no_coverage_linux-64_conda.lock | 125 ++++++------ ...pylatest_conda_forge_mkl_osx-64_conda.lock | 81 ++++---- ...test_conda_mkl_no_openmp_osx-64_conda.lock | 41 ++-- ...latest_pip_openblas_pandas_environment.yml | 2 +- ...st_pip_openblas_pandas_linux-64_conda.lock | 105 +++++----- .../pylatest_pip_scipy_dev_environment.yml | 2 +- ...pylatest_pip_scipy_dev_linux-64_conda.lock | 82 ++++---- build_tools/azure/pypy3_linux-64_conda.lock | 41 ++-- build_tools/azure/ubuntu_atlas_lock.txt | 16 +- .../py39_conda_forge_linux-aarch64_conda.lock | 53 +++-- build_tools/github/doc_linux-64_conda.lock | 190 ++++++++++-------- .../doc_min_dependencies_linux-64_conda.lock | 57 +++--- .../update_environments_and_lock_files.py | 12 +- 18 files changed, 655 insertions(+), 544 deletions(-) diff --git a/build_tools/azure/debian_atlas_32bit_lock.txt b/build_tools/azure/debian_atlas_32bit_lock.txt index 0e2ff3ac6dbb8..e335d23b6d6a8 100644 --- a/build_tools/azure/debian_atlas_32bit_lock.txt +++ b/build_tools/azure/debian_atlas_32bit_lock.txt @@ -1,25 +1,23 @@ # -# This file is autogenerated by pip-compile with python 3.9 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: # # pip-compile --output-file=build_tools/azure/debian_atlas_32bit_lock.txt build_tools/azure/debian_atlas_32bit_requirements.txt # -attrs==22.1.0 +attrs==22.2.0 # via pytest -cython==0.29.32 +cython==0.29.33 # via -r build_tools/azure/debian_atlas_32bit_requirements.txt joblib==1.1.1 # via -r build_tools/azure/debian_atlas_32bit_requirements.txt more-itertools==9.0.0 # via pytest -packaging==21.3 +packaging==23.0 # via pytest pluggy==0.13.1 # via pytest py==1.11.0 # via pytest -pyparsing==3.0.9 - # via packaging pytest==5.3.1 # via -r build_tools/azure/debian_atlas_32bit_requirements.txt threadpoolctl==2.2.0 diff --git a/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock b/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock index f07d4d274bf27..d484b9ffac6b0 100644 --- a/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock +++ b/build_tools/azure/py38_conda_defaults_openblas_linux-64_conda.lock @@ -18,21 +18,21 @@ https://repo.anaconda.com/pkgs/main/linux-64/icu-58.2-he6710b0_3.conda#48cc14d5a https://repo.anaconda.com/pkgs/main/linux-64/jpeg-9e-h7f8727e_0.conda#a0571bd2254b360aef526307a17f3526 https://repo.anaconda.com/pkgs/main/linux-64/lerc-3.0-h295c915_0.conda#b97309770412f10bed8d9448f6f98f87 https://repo.anaconda.com/pkgs/main/linux-64/libdeflate-1.8-h7f8727e_5.conda#6942d65edab9a800900f43e750b3ad1f -https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.3-he6710b0_2.conda#88a54b8f50e351c650e16f4ee781440c +https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.4.2-h6a678d5_6.conda#6d65e299b535d3b3613b6d4bce901834 https://repo.anaconda.com/pkgs/main/linux-64/libopenblas-0.3.18-hf726d26_0.conda#10422bb3b9b022e27798fc368cda69ba https://repo.anaconda.com/pkgs/main/linux-64/libuuid-1.41.5-h5eee18b_0.conda#4a6a2354414c9080327274aa514e5299 https://repo.anaconda.com/pkgs/main/linux-64/libwebp-base-1.2.4-h5eee18b_0.conda#f5f56389136bcd9ca92ee1d64afcceb3 https://repo.anaconda.com/pkgs/main/linux-64/libxcb-1.15-h7f8727e_0.conda#ada518dcadd6aaee9aae47ba9a671553 -https://repo.anaconda.com/pkgs/main/linux-64/lz4-c-1.9.3-h295c915_1.conda#d9bd18f73ff566e08add10a54a3463cf +https://repo.anaconda.com/pkgs/main/linux-64/lz4-c-1.9.4-h6a678d5_0.conda#53915e9402180a7f22ea619c41089520 https://repo.anaconda.com/pkgs/main/linux-64/ncurses-6.3-h5eee18b_3.conda#0c616f387885c1bbb57ec0bd1e779ced https://repo.anaconda.com/pkgs/main/linux-64/nspr-4.33-h295c915_0.conda#78454e8819eb6701abc74b2ab2889f21 https://repo.anaconda.com/pkgs/main/linux-64/openssl-1.1.1s-h7f8727e_0.conda#25f9c4e2394976be98d01cccef2ce43a https://repo.anaconda.com/pkgs/main/linux-64/pcre-8.45-h295c915_0.conda#b32ccc24d1d9808618c1e898da60f68d -https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.6-h5eee18b_0.conda#8abc704d4a473839d5351b43deb793bb +https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.8-h5eee18b_0.conda#224260858072f0071140ae18c513620d https://repo.anaconda.com/pkgs/main/linux-64/zlib-1.2.13-h5eee18b_0.conda#333e31fbfbb5057c92fa845ad6adef93 https://repo.anaconda.com/pkgs/main/linux-64/ccache-3.7.9-hfe4627d_0.conda#bef6fc681c273bb7bd0c67d1a591365e -https://repo.anaconda.com/pkgs/main/linux-64/glib-2.69.1-h4ff587b_1.conda#4c3eae7c0b8b1c8fb3046a0740313bbf -https://repo.anaconda.com/pkgs/main/linux-64/libedit-3.1.20210910-h7f8727e_0.conda#cf16006f8f24e4224ddce196471d2509 +https://repo.anaconda.com/pkgs/main/linux-64/glib-2.69.1-he621ea3_2.conda#51cf1899782b3f3744aedd143fbc07f3 +https://repo.anaconda.com/pkgs/main/linux-64/libedit-3.1.20221030-h5eee18b_0.conda#7c724a17739aceaf9d1633ff06962137 https://repo.anaconda.com/pkgs/main/linux-64/libevent-2.1.12-h8f2d780_0.conda#8de03cd4b6ee0ddeb0571a5199db5637 https://repo.anaconda.com/pkgs/main/linux-64/libllvm10-10.0.1-hbcb73fb_5.conda#198e840fc17a5bff7f1ee543ee1981b2 https://repo.anaconda.com/pkgs/main/linux-64/libpng-1.6.37-hbc83047_0.conda#689f903925dcf6c5ab7bc1de0f58b67b @@ -48,16 +48,16 @@ https://repo.anaconda.com/pkgs/main/linux-64/libclang-10.0.1-default_hb85057a_2. https://repo.anaconda.com/pkgs/main/linux-64/libtiff-4.4.0-hecacb30_2.conda#debd52cb518dce3d4f48833cdc1032e4 https://repo.anaconda.com/pkgs/main/linux-64/libxkbcommon-1.0.1-hfa300c1_0.conda#913e6c7c04026ff341960a9700889498 https://repo.anaconda.com/pkgs/main/linux-64/libxslt-1.1.35-h4e12654_0.conda#328c111d87dccd5a3e471a691833f670 -https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.40.0-h5082296_0.conda#d1300b056e728ea61a0bf135b035e60d -https://repo.anaconda.com/pkgs/main/linux-64/fontconfig-2.13.1-hef1e5e3_1.conda#104cd6f83a6edd3e1fd662887f4bc215 +https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.40.1-h5082296_0.conda#7d44bb7460f1b1b0764d63240d7f7f81 +https://repo.anaconda.com/pkgs/main/linux-64/fontconfig-2.14.1-h52c9d5c_1.conda#cd3f711abef17203045b7bcfc83fac2f https://repo.anaconda.com/pkgs/main/linux-64/gst-plugins-base-1.14.0-h8213a91_2.conda#838648422452405b86699e780e293c1d https://repo.anaconda.com/pkgs/main/linux-64/lcms2-2.12-h3be6417_0.conda#719db47afba9f6586eecb5eacac70bff https://repo.anaconda.com/pkgs/main/linux-64/libpq-12.9-h16c4e8d_3.conda#0f127be216a734916faf456bb21404e9 https://repo.anaconda.com/pkgs/main/linux-64/libwebp-1.2.4-h11a3e52_0.conda#971acc20767cc834a6baffdeaae6a100 https://repo.anaconda.com/pkgs/main/linux-64/nss-3.74-h0370c37_0.conda#fb2426b2f3cb17c9015fcbdf917a2f7b -https://repo.anaconda.com/pkgs/main/linux-64/python-3.8.13-haa1d7c7_1.conda#43a2c043262c004b0ad1b77fca992639 +https://repo.anaconda.com/pkgs/main/linux-64/python-3.8.15-h7a1cb2a_2.conda#9252075f5f42bf4bc633fe348bbbb3a4 https://repo.anaconda.com/pkgs/main/linux-64/attrs-22.1.0-py38h06a4308_0.conda#51beb64c6f06b5a69529df7ecaccc3f9 -https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.9.24-py38h06a4308_0.conda#2c24987d7c70c1c4c3a8c0f0e744b853 +https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.12.7-py38h06a4308_0.conda#243cddde550e2c3e765db25cdea99a13 https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-2.0.4-pyhd3eb1b0_0.conda#e7a441d94234b2b5fafee06e25dbf076 https://repo.anaconda.com/pkgs/main/linux-64/coverage-6.2-py38h7f8727e_0.conda#34a3006ca7d8d286b63593b31b845ace https://repo.anaconda.com/pkgs/main/noarch/cycler-0.11.0-pyhd3eb1b0_0.conda#f5e365d2cdb66d547eb8c3ab93843aab @@ -66,44 +66,44 @@ https://repo.anaconda.com/pkgs/main/noarch/execnet-1.9.0-pyhd3eb1b0_0.conda#f895 https://repo.anaconda.com/pkgs/main/linux-64/idna-3.4-py38h06a4308_0.conda#e1c05a7fa231e08f357d92702689cbdd https://repo.anaconda.com/pkgs/main/noarch/iniconfig-1.1.1-pyhd3eb1b0_0.tar.bz2#e40edff2c5708f342cef43c7f280c507 https://repo.anaconda.com/pkgs/main/linux-64/joblib-1.1.1-py38h06a4308_0.conda#e655dfc29e36336810c9f69dea37b2de -https://repo.anaconda.com/pkgs/main/linux-64/kiwisolver-1.4.2-py38h295c915_0.conda#00e5f5a50b547c8c31d1a559828f3251 +https://repo.anaconda.com/pkgs/main/linux-64/kiwisolver-1.4.4-py38h6a678d5_0.conda#7424aa335d22974192800ec19a68486e https://repo.anaconda.com/pkgs/main/linux-64/numpy-base-1.17.3-py38h2f8d375_0.conda#40edbb76ecacefb1e6ab639b514822b1 -https://repo.anaconda.com/pkgs/main/linux-64/pillow-9.2.0-py38hace64e9_1.conda#a6b7baf62d6399704dfdeab8c0ec55f6 +https://repo.anaconda.com/pkgs/main/linux-64/packaging-22.0-py38h06a4308_0.conda#f09d8a44adf4dae78562c6f9af3603d6 +https://repo.anaconda.com/pkgs/main/linux-64/pillow-9.3.0-py38hace64e9_1.conda#25eba78d0ac0b82f750c09f89d033097 https://repo.anaconda.com/pkgs/main/linux-64/pluggy-1.0.0-py38h06a4308_1.conda#87bb1d3f6cf3e409a1dac38cee99918e https://repo.anaconda.com/pkgs/main/linux-64/ply-3.11-py38_0.conda#d6a69c576c6e4d19e3074eaae3d149f2 https://repo.anaconda.com/pkgs/main/noarch/py-1.11.0-pyhd3eb1b0_0.conda#7205a898ed2abbf6e9b903dff6abe08e https://repo.anaconda.com/pkgs/main/noarch/pycparser-2.21-pyhd3eb1b0_0.conda#135a72ff2a31150a3a3ff0b1edd41ca9 https://repo.anaconda.com/pkgs/main/linux-64/pyparsing-3.0.9-py38h06a4308_0.conda#becbbf51d2b05de228eed968e20f963d https://repo.anaconda.com/pkgs/main/linux-64/pysocks-1.7.1-py38h06a4308_0.conda#21c67581f3a81ffbb02728eb2178d693 -https://repo.anaconda.com/pkgs/main/linux-64/pytz-2022.1-py38h06a4308_0.conda#d9e022584b586338e235e41a76ccc657 +https://repo.anaconda.com/pkgs/main/linux-64/pytz-2022.7-py38h06a4308_0.conda#19c9f6a24d5c6f779c645d00f646666b https://repo.anaconda.com/pkgs/main/linux-64/qt-main-5.15.2-h327a75a_7.conda#1868b206ade356f1812a723804e1cc31 https://repo.anaconda.com/pkgs/main/noarch/six-1.16.0-pyhd3eb1b0_1.conda#34586824d411d36af2fa40e799c172d0 https://repo.anaconda.com/pkgs/main/noarch/threadpoolctl-2.2.0-pyh0d69192_0.conda#bbfdbae4934150b902f97daaf287efe2 https://repo.anaconda.com/pkgs/main/noarch/toml-0.10.2-pyhd3eb1b0_0.conda#cda05f5f6d8509529d1a2743288d197a https://repo.anaconda.com/pkgs/main/linux-64/tomli-2.0.1-py38h06a4308_0.conda#791cce9de9913e9587b0a85cd8419123 https://repo.anaconda.com/pkgs/main/linux-64/tornado-6.2-py38h5eee18b_0.conda#db2f7ebc500d97a4af6889dfd0d03dbc -https://repo.anaconda.com/pkgs/main/linux-64/cffi-1.15.1-py38h74dc2b5_0.conda#ca2d78b41be0525b8d328c078dfadfb9 +https://repo.anaconda.com/pkgs/main/linux-64/cffi-1.15.1-py38h5eee18b_3.conda#ebf03031554d834c5aafdbed9be24f7f https://repo.anaconda.com/pkgs/main/linux-64/numpy-1.17.3-py38h7e8d029_0.conda#5f2b196b515f8fe6b37e3d224650577d -https://repo.anaconda.com/pkgs/main/noarch/packaging-21.3-pyhd3eb1b0_0.conda#07bbfbb961db7fa329cc42716943ea62 +https://repo.anaconda.com/pkgs/main/linux-64/pytest-7.1.2-py38h06a4308_0.conda#8d7f526a3d29273e06957d302f515755 https://repo.anaconda.com/pkgs/main/noarch/python-dateutil-2.8.2-pyhd3eb1b0_0.conda#211ee00320b08a1ac9fea6677649f6c9 https://repo.anaconda.com/pkgs/main/linux-64/qt-webengine-5.15.9-hd2b0992_4.conda#ed674e212597b93fffa1afc90a3e100c -https://repo.anaconda.com/pkgs/main/linux-64/setuptools-65.5.0-py38h06a4308_0.conda#39a83921f08b25897e9e4d07f4d41179 +https://repo.anaconda.com/pkgs/main/linux-64/setuptools-65.6.3-py38h06a4308_0.conda#7676b836ec3f9cb1b0f8661d5863d1a4 +https://repo.anaconda.com/pkgs/main/linux-64/sip-6.6.2-py38h6a678d5_0.conda#cb3f0d10f7f79870945f4dbbe0000f92 https://repo.anaconda.com/pkgs/main/linux-64/brotlipy-0.7.0-py38h27cfd23_1003.conda#e881c8ee8a4048f29da5d20f0330fe37 -https://repo.anaconda.com/pkgs/main/linux-64/cryptography-38.0.1-py38h9ce1e76_0.conda#1f179fad71e46b148b6f471770fa64f3 +https://repo.anaconda.com/pkgs/main/linux-64/cryptography-38.0.4-py38h9ce1e76_0.conda#069a127658760920e9d53c31325fb8ce https://repo.anaconda.com/pkgs/main/linux-64/matplotlib-base-3.1.3-py38hef1b27d_0.conda#a7ad7d097c25b7beeb76f370d51687a1 https://repo.anaconda.com/pkgs/main/linux-64/pandas-1.2.4-py38ha9443f7_0.conda#5bd3fd807a294f387feabc65821b75d0 -https://repo.anaconda.com/pkgs/main/linux-64/pytest-7.1.2-py38h06a4308_0.conda#8d7f526a3d29273e06957d302f515755 +https://repo.anaconda.com/pkgs/main/linux-64/pyqt5-sip-12.11.0-py38h6a678d5_1.conda#7bc403c7d55f1465e922964d293d2186 +https://repo.anaconda.com/pkgs/main/noarch/pytest-cov-3.0.0-pyhd3eb1b0_0.conda#bbdaac2947f507399816d509107945c2 +https://repo.anaconda.com/pkgs/main/noarch/pytest-forked-1.3.0-pyhd3eb1b0_0.tar.bz2#07970bffdc78f417d7f8f1c7e620f5c4 https://repo.anaconda.com/pkgs/main/linux-64/qtwebkit-5.212-h4eab89a_4.conda#7317bbf3f3e66a0a02b07b860783ecff https://repo.anaconda.com/pkgs/main/linux-64/scipy-1.3.2-py38he2b7bc3_0.conda#a9df91d5a41c1f39524fc8a53c56bc29 -https://repo.anaconda.com/pkgs/main/linux-64/sip-6.6.2-py38h6a678d5_0.conda#cb3f0d10f7f79870945f4dbbe0000f92 https://repo.anaconda.com/pkgs/main/linux-64/pyamg-4.2.3-py38h79cecc1_0.conda#6e7f4f94000b244396de8bf4e6ae8dc4 https://repo.anaconda.com/pkgs/main/noarch/pyopenssl-22.0.0-pyhd3eb1b0_0.conda#1dbbf9422269cd62c7094960d9b43f36 -https://repo.anaconda.com/pkgs/main/linux-64/pyqt5-sip-12.11.0-py38h6a678d5_1.conda#7bc403c7d55f1465e922964d293d2186 -https://repo.anaconda.com/pkgs/main/noarch/pytest-cov-3.0.0-pyhd3eb1b0_0.conda#bbdaac2947f507399816d509107945c2 -https://repo.anaconda.com/pkgs/main/noarch/pytest-forked-1.3.0-pyhd3eb1b0_0.tar.bz2#07970bffdc78f417d7f8f1c7e620f5c4 https://repo.anaconda.com/pkgs/main/linux-64/pyqt-5.15.7-py38h6a678d5_1.conda#62232dc285be8e7e85ae9596d89b3b95 https://repo.anaconda.com/pkgs/main/noarch/pytest-xdist-2.5.0-pyhd3eb1b0_0.conda#d15cdc4207bcf8ca920822597f1d138d -https://repo.anaconda.com/pkgs/main/linux-64/urllib3-1.26.12-py38h06a4308_0.conda#aa9ea62db989b3ba169a82c695eea20c https://repo.anaconda.com/pkgs/main/linux-64/matplotlib-3.1.3-py38_0.conda#70d5f6df438d469dc78f082389ada23d +https://repo.anaconda.com/pkgs/main/linux-64/urllib3-1.26.13-py38h06a4308_0.conda#74608767d976ca14529b126842ffb685 https://repo.anaconda.com/pkgs/main/linux-64/requests-2.28.1-py38h06a4308_0.conda#04d482ea4a1e190d688dee2e4048e49f https://repo.anaconda.com/pkgs/main/noarch/codecov-2.1.11-pyhd3eb1b0_0.conda#83a743cc928162d53d4066c43468b2c7 diff --git a/build_tools/azure/py38_conda_forge_mkl_win-64_conda.lock b/build_tools/azure/py38_conda_forge_mkl_win-64_conda.lock index 821e5f92ab51c..89ad3b4ed33f0 100644 --- a/build_tools/azure/py38_conda_forge_mkl_win-64_conda.lock +++ b/build_tools/azure/py38_conda_forge_mkl_win-64_conda.lock @@ -2,8 +2,8 @@ # platform: win-64 # input_hash: e176819d6d3155f9b8afd9e262f268db47cb5d6dc157a00168d3bd0c0f55766c @EXPLICIT -https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2022.9.24-h5b45459_0.tar.bz2#5fba0abc60bf327a4bc4188cd64678be -https://conda.anaconda.org/conda-forge/win-64/intel-openmp-2022.1.0-h57928b3_3787.tar.bz2#35dff2b6e944ce136a574c4c006cec28 +https://conda.anaconda.org/conda-forge/win-64/ca-certificates-2022.12.7-h5b45459_0.conda#31de4d9887dc8eaed9e6230a5dfbb9d6 +https://conda.anaconda.org/conda-forge/win-64/intel-openmp-2023.0.0-h57928b3_25922.conda#8ecf3a448f5a35bd30cb39ddc2a19058 https://conda.anaconda.org/conda-forge/win-64/mkl-include-2022.1.0-h6a75c08_874.tar.bz2#414f6ab96ad71e7a95bd00d990fa3473 https://conda.anaconda.org/conda-forge/win-64/msys2-conda-epoch-20160418-1.tar.bz2#b0309b72560df66f71a9d5e34a5efdfa https://conda.anaconda.org/conda-forge/win-64/python_abi-3.8-3_cp38.conda#c6df946723dadd4a5830a8ff8c6b9a20 @@ -21,53 +21,55 @@ https://conda.anaconda.org/conda-forge/win-64/libbrotlicommon-1.0.9-hcfcfb64_8.t https://conda.anaconda.org/conda-forge/win-64/libdeflate-1.14-hcfcfb64_0.tar.bz2#4366e00d3270eb229c026920474a6dda https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2#2c96d1b6915b408893f9472569dee135 https://conda.anaconda.org/conda-forge/win-64/libiconv-1.17-h8ffe710_0.tar.bz2#050119977a86e4856f0416e2edcf81bb +https://conda.anaconda.org/conda-forge/win-64/libjpeg-turbo-2.1.4-hcfcfb64_0.tar.bz2#24bf30c2957c1bf33b3e1131a88ae17d https://conda.anaconda.org/conda-forge/win-64/libogg-1.3.4-h8ffe710_1.tar.bz2#04286d905a0dcb7f7d4a12bdfe02516d https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.40.0-hcfcfb64_0.tar.bz2#5e5a97795de72f8cc3baf3d9ea6327a2 https://conda.anaconda.org/conda-forge/win-64/libwebp-base-1.2.4-h8ffe710_0.tar.bz2#0a09bd195ebeaff5711ccae93ac132ad https://conda.anaconda.org/conda-forge/win-64/libzlib-1.2.13-hcfcfb64_4.tar.bz2#0cc5c5cc64ee1637f37f8540a175854c https://conda.anaconda.org/conda-forge/win-64/m2w64-gcc-libgfortran-5.3.0-6.tar.bz2#066552ac6b907ec6d72c0ddab29050dc -https://conda.anaconda.org/conda-forge/win-64/openssl-1.1.1s-hcfcfb64_0.tar.bz2#d5bc4691e3b8f238964208ed8b894a00 -https://conda.anaconda.org/conda-forge/win-64/tbb-2021.7.0-h91493d7_0.tar.bz2#f57be598137919e4f7e7d159960d66a1 +https://conda.anaconda.org/conda-forge/win-64/openssl-3.0.7-hcfcfb64_1.conda#e48b661f57b25ddf34996fa8b685182d +https://conda.anaconda.org/conda-forge/win-64/pthreads-win32-2.9.1-hfa6e2cd_3.tar.bz2#e2da8758d7d51ff6aa78a14dfb9dbed4 https://conda.anaconda.org/conda-forge/win-64/tk-8.6.12-h8ffe710_0.tar.bz2#c69a5047cc9291ae40afd4a1ad6f0c0f https://conda.anaconda.org/conda-forge/win-64/xz-5.2.6-h8d14728_0.tar.bz2#515d77642eaa3639413c6b1bc3f94219 https://conda.anaconda.org/conda-forge/win-64/gettext-0.21.1-h5728263_0.tar.bz2#299d4fd6798a45337042ff5a48219e5f -https://conda.anaconda.org/conda-forge/win-64/krb5-1.19.3-h1176d77_0.tar.bz2#2e0d447ab95d58d3ea1222121ec57f9f +https://conda.anaconda.org/conda-forge/win-64/krb5-1.20.1-heb0366b_0.conda#a07b05ee8f451ab15698397185efe989 https://conda.anaconda.org/conda-forge/win-64/libbrotlidec-1.0.9-hcfcfb64_8.tar.bz2#99839d9d81f33afa173c0fa82a702038 https://conda.anaconda.org/conda-forge/win-64/libbrotlienc-1.0.9-hcfcfb64_8.tar.bz2#88e62627120c20289bf8982b15e0a6a1 -https://conda.anaconda.org/conda-forge/win-64/libclang13-15.0.5-default_h77d9078_0.tar.bz2#200796292aff4e7547eaf373872baa39 +https://conda.anaconda.org/conda-forge/win-64/libclang13-15.0.6-default_h77d9078_0.conda#393d6ec76308c7124568dd595f95d432 https://conda.anaconda.org/conda-forge/win-64/libpng-1.6.39-h19919ed_0.conda#ab6febdb2dbd9c00803609079db4de71 https://conda.anaconda.org/conda-forge/win-64/libvorbis-1.3.7-h0e60522_0.tar.bz2#e1a22282de0169c93e4ffe6ce6acc212 +https://conda.anaconda.org/conda-forge/win-64/libxml2-2.10.3-hc3477c8_1.conda#ebeb5e4cb351f83724a50dda9190b609 https://conda.anaconda.org/conda-forge/win-64/m2w64-gcc-libs-5.3.0-7.tar.bz2#fe759119b8b3bfa720b8762c6fdc35de -https://conda.anaconda.org/conda-forge/win-64/mkl-2022.1.0-h6a75c08_874.tar.bz2#2ff89a7337a9636029b4db9466e9f8e3 https://conda.anaconda.org/conda-forge/win-64/pcre2-10.40-h17e33f8_0.tar.bz2#2519de0d9620dc2bc7e19caf6867136d -https://conda.anaconda.org/conda-forge/win-64/python-3.8.15-h0269646_0_cpython.conda#c357e563492a7239723e3bf192151780 +https://conda.anaconda.org/conda-forge/win-64/python-3.8.15-h4de0772_0_cpython.conda#4059e596f8d7d983bee86bd6845081dc https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.2-h7755175_4.tar.bz2#13acb3626fcc8c0577249f3a7b6129f4 -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/win-64/brotli-bin-1.0.9-hcfcfb64_8.tar.bz2#e18b70ed349d96086fd60a9c642b1b58 -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/win-64/cython-0.29.32-py38hd3f51b4_1.tar.bz2#cae84cafa303ba6c676bdcc3047bfa08 -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/win-64/cython-0.29.33-py38hd3f51b4_0.conda#b293ec88e1a282b175b5affc93a8a32d +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 -https://conda.anaconda.org/conda-forge/win-64/freetype-2.12.1-h546665d_0.tar.bz2#8bfa20ad87170f94e856133bafa5f5cf +https://conda.anaconda.org/conda-forge/win-64/freetype-2.12.1-h546665d_1.conda#1b513009cd012591f3fdc9e03a74ec0a https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/win-64/kiwisolver-1.4.4-py38hb1fd069_1.tar.bz2#1dcc50e3241f9e4e59713eec2653abd5 -https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-16_win64_mkl.tar.bz2#d2e6f4e86cee2b4e8c27ff6884ccdc61 -https://conda.anaconda.org/conda-forge/win-64/libclang-15.0.5-default_h77d9078_0.tar.bz2#1f36af7abc82c6b89f13b574450ac3b2 +https://conda.anaconda.org/conda-forge/win-64/libclang-15.0.6-default_h77d9078_0.conda#aa7825a9f921f0cbc96b9d30e71389fc https://conda.anaconda.org/conda-forge/win-64/libglib-2.74.1-he8f3873_1.tar.bz2#09e1cbabfd9d733729843c3b35cb0b6d -https://conda.anaconda.org/conda-forge/win-64/libtiff-4.4.0-h8e97e67_4.tar.bz2#3ef0d0259b2d742e8c6a07598614a5d6 -https://conda.anaconda.org/conda-forge/win-64/mkl-devel-2022.1.0-h57928b3_875.tar.bz2#6319a06307af296c1dfae93687c283b2 +https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.8.0-h039e092_1.tar.bz2#e84839b06cdd039130a1d1aa875146d3 +https://conda.anaconda.org/conda-forge/win-64/libtiff-4.5.0-hc4f729c_0.conda#d9b568beb74c97e53dbb9531b14f69c0 https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/noarch/ply-3.11-py_1.tar.bz2#7205635cd71531943440fbfe3b6b5727 https://conda.anaconda.org/conda-forge/win-64/pthread-stubs-0.4-hcd874cb_1001.tar.bz2#a1f820480193ea83582b13249a7e7bd9 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 @@ -79,43 +81,47 @@ https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyhd8ed1ab_6.t https://conda.anaconda.org/conda-forge/win-64/xorg-libxau-1.0.9-hcd874cb_0.tar.bz2#9cef622e75683c17d05ae62d66e69e6c https://conda.anaconda.org/conda-forge/win-64/xorg-libxdmcp-1.1.3-hcd874cb_0.tar.bz2#46878ebb6b9cbd8afcf8088d7ef00ece https://conda.anaconda.org/conda-forge/win-64/brotli-1.0.9-hcfcfb64_8.tar.bz2#2e661f21e1741c11506bdc7226e6b0bc -https://conda.anaconda.org/conda-forge/win-64/cffi-1.15.1-py38h57701bc_2.tar.bz2#4e290e24ff3aa60183f928d4e144c4fb -https://conda.anaconda.org/conda-forge/win-64/coverage-6.5.0-py38h91455d4_1.tar.bz2#7ba1bb13999b89fdce5f3385d5e28c2b +https://conda.anaconda.org/conda-forge/win-64/cffi-1.15.1-py38h57701bc_3.conda#9b94af390cfdf924a063302a2ddb3860 +https://conda.anaconda.org/conda-forge/win-64/coverage-7.0.5-py38h91455d4_0.conda#530ad5ab383dec17e5fb709dafb86911 https://conda.anaconda.org/conda-forge/win-64/glib-tools-2.74.1-h12be248_1.tar.bz2#cd93cc622f2fa0f68ddc978cb67a5061 https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb -https://conda.anaconda.org/conda-forge/win-64/lcms2-2.14-h90d422f_0.tar.bz2#a0deec92aa16fca7bf5a6717d05f88ee -https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-16_win64_mkl.tar.bz2#14c2fb03b2bb14dfa3806186ca91d557 -https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-16_win64_mkl.tar.bz2#be2f9d5712a5bb05cd900005ee752a05 +https://conda.anaconda.org/conda-forge/win-64/lcms2-2.14-ha5c8aab_1.conda#135bd65be6768b2bc84e864e7141ab77 https://conda.anaconda.org/conda-forge/win-64/libxcb-1.13-hcd874cb_1004.tar.bz2#a6d7fd030532378ecb6ba435cd9f8234 -https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.0-hc9384bd_1.tar.bz2#a6834096f8d834339eca7ef4d23bcc44 -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/win-64/openjpeg-2.5.0-ha2aaf27_2.conda#db0490689232e8e38c312281df6f31a2 https://conda.anaconda.org/conda-forge/noarch/pip-22.3.1-pyhd8ed1ab_0.tar.bz2#da66f2851b9836d3a7c5190082a45f7d https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh0701188_6.tar.bz2#56cd9fe388baac0e90c7149cfac95b60 +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 +https://conda.anaconda.org/conda-forge/win-64/sip-6.7.5-py38hd3f51b4_0.conda#99a5d7532da18344a6648dd8e0f0e270 +https://conda.anaconda.org/conda-forge/win-64/tbb-2021.7.0-h91493d7_1.conda#39365b918d4f04909485f3055b131c86 https://conda.anaconda.org/conda-forge/win-64/brotlipy-0.7.0-py38h91455d4_1005.tar.bz2#9fabc7fadfb37addbe91cc67c09cda69 -https://conda.anaconda.org/conda-forge/win-64/cryptography-38.0.3-py38h086c683_0.tar.bz2#0831ec95eedb26f5ab4066171f267920 +https://conda.anaconda.org/conda-forge/win-64/cryptography-39.0.0-py38h95f5157_0.conda#49fb9d2f5de471aa02f6abbdd848d8ef https://conda.anaconda.org/conda-forge/win-64/fonttools-4.38.0-py38h91455d4_1.tar.bz2#45aa8e4d44d4b82db1ba373b6b7fbd61 https://conda.anaconda.org/conda-forge/win-64/glib-2.74.1-h12be248_1.tar.bz2#7564888ab882b9d3aea46355ab7adaca -https://conda.anaconda.org/conda-forge/win-64/liblapacke-3.9.0-16_win64_mkl.tar.bz2#983e827b7c9562075c2e74d596d056c1 -https://conda.anaconda.org/conda-forge/win-64/numpy-1.23.5-py38h90ce339_0.conda#e393f5a46fb6402723f63b7039a4e40f -https://conda.anaconda.org/conda-forge/win-64/pillow-9.2.0-py38h3cd753b_3.tar.bz2#484d635897a9e98e99d161289c4dbaf5 -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c -https://conda.anaconda.org/conda-forge/win-64/sip-6.7.5-py38hd3f51b4_0.conda#99a5d7532da18344a6648dd8e0f0e270 -https://conda.anaconda.org/conda-forge/win-64/blas-devel-3.9.0-16_win64_mkl.tar.bz2#dc89c75a7dd26c88ac77d64bf313973e -https://conda.anaconda.org/conda-forge/win-64/contourpy-1.0.6-py38hb1fd069_0.tar.bz2#caaff6619b92a1fa2f7fa07292010550 -https://conda.anaconda.org/conda-forge/win-64/gstreamer-1.21.2-h6b5321d_0.conda#19a9f9ee43fcfedbf72ed09656601bc9 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2#fbfa0a180d48c800f922a10a114a8632 +https://conda.anaconda.org/conda-forge/win-64/mkl-2022.1.0-h6a75c08_874.tar.bz2#2ff89a7337a9636029b4db9466e9f8e3 +https://conda.anaconda.org/conda-forge/win-64/pillow-9.4.0-py38h409c3de_0.conda#992a54266443e5c98bef5992b7d1084d https://conda.anaconda.org/conda-forge/win-64/pyqt5-sip-12.11.0-py38hd3f51b4_2.tar.bz2#cbc432ec0d62367c7d9d7f486207712a https://conda.anaconda.org/conda-forge/noarch/pytest-cov-4.0.0-pyhd8ed1ab_0.tar.bz2#c9e3f8bfdb9bfc34aa1836a6ed4b25d7 https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf -https://conda.anaconda.org/conda-forge/win-64/scipy-1.9.3-py38h0f6ee2a_2.tar.bz2#92cb8018ca3747eb8502e22d78eed95f -https://conda.anaconda.org/conda-forge/win-64/blas-2.116-mkl.tar.bz2#7529860b43278247a278c6f56a191d2e -https://conda.anaconda.org/conda-forge/win-64/gst-plugins-base-1.21.2-h001b923_0.conda#e46a55a23deb80b07ad1005fc787a16d -https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.6.2-py38h528a6c7_0.tar.bz2#c72de8aadeb6468b23ccfd5be1107c3b +https://conda.anaconda.org/conda-forge/win-64/gstreamer-1.21.3-h6b5321d_1.conda#6f8a7aeb3edae5e623f445751c2e8536 +https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-16_win64_mkl.tar.bz2#d2e6f4e86cee2b4e8c27ff6884ccdc61 +https://conda.anaconda.org/conda-forge/win-64/mkl-devel-2022.1.0-h57928b3_875.tar.bz2#6319a06307af296c1dfae93687c283b2 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e -https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2#0738978569b10669bdef41c671252dd1 -https://conda.anaconda.org/conda-forge/win-64/qt-main-5.15.6-h9c3277a_2.conda#cd3a8cc5c3740613a34c2f8553150f2d +https://conda.anaconda.org/conda-forge/win-64/gst-plugins-base-1.21.3-h001b923_1.conda#74daeb89d1a88118af9d7da7a0a5cafd +https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-16_win64_mkl.tar.bz2#14c2fb03b2bb14dfa3806186ca91d557 +https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-16_win64_mkl.tar.bz2#be2f9d5712a5bb05cd900005ee752a05 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 +https://conda.anaconda.org/conda-forge/win-64/liblapacke-3.9.0-16_win64_mkl.tar.bz2#983e827b7c9562075c2e74d596d056c1 +https://conda.anaconda.org/conda-forge/win-64/numpy-1.24.1-py38h90ce339_0.conda#e727377e872ed8f426b726c7a202e7df +https://conda.anaconda.org/conda-forge/win-64/qt-main-5.15.6-h9580fe5_5.conda#f1351c4f6ac14a9c8d29103914e9b2d4 https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 +https://conda.anaconda.org/conda-forge/win-64/blas-devel-3.9.0-16_win64_mkl.tar.bz2#dc89c75a7dd26c88ac77d64bf313973e https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.12-pyhd8ed1ab_0.conda#0317ed52e504b93da000e8a027628775 +https://conda.anaconda.org/conda-forge/win-64/contourpy-1.0.6-py38hb1fd069_0.tar.bz2#caaff6619b92a1fa2f7fa07292010550 +https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 https://conda.anaconda.org/conda-forge/win-64/pyqt-5.15.7-py38hd6c051e_2.tar.bz2#b33fbea51980ecf275cef2262711f1ad +https://conda.anaconda.org/conda-forge/win-64/blas-2.116-mkl.tar.bz2#7529860b43278247a278c6f56a191d2e +https://conda.anaconda.org/conda-forge/win-64/matplotlib-base-3.6.2-py38h528a6c7_0.tar.bz2#c72de8aadeb6468b23ccfd5be1107c3b +https://conda.anaconda.org/conda-forge/win-64/scipy-1.10.0-py38h0f6ee2a_0.conda#13cfd7bace20d298320bdeaa387304d8 https://conda.anaconda.org/conda-forge/win-64/matplotlib-3.6.2-py38haa244fe_0.tar.bz2#8e5672391509eae8501a952f4147fd2b diff --git a/build_tools/azure/py38_conda_forge_openblas_ubuntu_2204_linux-64_conda.lock b/build_tools/azure/py38_conda_forge_openblas_ubuntu_2204_linux-64_conda.lock index 2922898a5e6ed..bc0a95ed5c8c9 100644 --- a/build_tools/azure/py38_conda_forge_openblas_ubuntu_2204_linux-64_conda.lock +++ b/build_tools/azure/py38_conda_forge_openblas_ubuntu_2204_linux-64_conda.lock @@ -3,7 +3,7 @@ # input_hash: 75dcb70ec40f9bd38136e66f4911ac8da8c539671a03f9d9b8b802ba1b6fafd8 @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2#41e4e87062433e283696cf384f952ef6 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb @@ -17,117 +17,152 @@ https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_1 https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_kmp_llvm.tar.bz2#562b26ba2e19059551a811e72ab7f793 https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2#e4c94f80aef025c17ab0828cd85ef535 -https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.3.2-h166bdaf_0.tar.bz2#b7607b7b62dce55c194ad84f99464e5f +https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.8-h166bdaf_0.tar.bz2#be733e69048951df1e4b4b7bb8c7666f +https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2#d9c69a24ad678ffce24c6543a0176b00 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-h27087fc_0.tar.bz2#c4fbad8d4bddeb3c085f18cbf97fbfad +https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.10-nompi_hf0379b8_106.conda#d7407e695358f068a2a7f8295cde0567 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2#14947d8770185e5153fdd04d4673ed37 -https://conda.anaconda.org/conda-forge/linux-64/icu-69.1-h9c3ff4c_0.tar.bz2#e0773c9556d588b062a4e1424a6a02fa +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-orc-0.4.33-h166bdaf_0.tar.bz2#879c93426c9d0b84a9de4513fbce5f4f +https://conda.anaconda.org/conda-forge/linux-64/icu-70.1-h27087fc_0.tar.bz2#87473a15119779e021c314249d4b4aed https://conda.anaconda.org/conda-forge/linux-64/jpeg-9e-h166bdaf_2.tar.bz2#ee8b844357a0946870901c7c6f418268 https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2#30186d27e2c9fa62b45fb1476b7200e3 +https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2#a8832b479f93521a9e7b5b743803be51 https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2#76bbff344f0134279f225174e9064c8f https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.0.9-h166bdaf_8.tar.bz2#9194c9bf9428035a05352d031462eae4 +https://conda.anaconda.org/conda-forge/linux-64/libdb-6.2.32-h9c3ff4c_0.tar.bz2#3f3258d8f841fbac63b36b75bdac1afd https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.bz2#fc84a0446e4e4fb882e78d786cfb9734 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 https://conda.anaconda.org/conda-forge/linux-64/libhiredis-1.0.2-h2cc385e_0.tar.bz2#b34907d3a81a3cd8095ee83d174c074a https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2#b62b52da46c39ee2bc3c162ac7f1804d +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2#b4f717df2d377410b462328bf0e8fb7d https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2#6e8cc2173440d77708196c5b93771680 https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.21-pthreads_h78a6416_3.tar.bz2#8c5963a49b6035c40646a763293fbb35 https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2#15345e56d527b330e1cacbdf58676e8f +https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda#f204c8ba400ec475452737094fb81d52 +https://conda.anaconda.org/conda-forge/linux-64/libudev1-252-h166bdaf_0.tar.bz2#174243089ec111479298a5b7099b64b5 https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.4-h166bdaf_0.tar.bz2#ac2ccf7323d21f2994e4d1f5da664f37 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 +https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2#fbe97e8fa6f275d7c76a09e795adc3e6 +https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.31.1-h27087fc_0.tar.bz2#0af513b75f78a701a152568a31303bdf https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h166bdaf_0.tar.bz2#d1ad1824c71e67dea42f07e06cd177dc +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda#da0ec11a6454ae19bff5b02ed881a2b1 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_1.conda#7adaac6ff98219bcb99b45e408b80f4e https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2#be93aabceefa2fac576e971aef407908 https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2#2161070d867d1b1204ea749c8eec4ef0 +https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.21-h583fa2b_2.conda#7b36a10b58964d4444fcba44244710c5 https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-16_linux64_openblas.tar.bz2#d9b7a8639171f6c6fa0a983edabcfe2b https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.0.9-h166bdaf_8.tar.bz2#4ae4d7795d33e02bd20f6b23d91caf82 https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.0.9-h166bdaf_8.tar.bz2#04bac51ba35ea023dc48af73c1c88c25 +https://conda.anaconda.org/conda-forge/linux-64/libcap-2.66-ha37c62d_0.tar.bz2#2d7665abd0997f1a6d4b7596bc27b657 https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2#4d331e44109e3f0e19b4cb8f9b82f3e1 https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.10-h28343ad_4.tar.bz2#4a049fc560e00e43151dc51368915fdd -https://conda.anaconda.org/conda-forge/linux-64/libllvm13-13.0.1-hf817b99_2.tar.bz2#47da3ce0d8b2e65ccb226c186dd91eba +https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.2-h27087fc_0.tar.bz2#7daf72d8e2a8e848e11d63ed6d1026e0 +https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.46-h620e276_0.conda#27e745f6f2e4b757e95dd7225fbe6bdb https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2#309dec04b70a3cc0f1e84a4013683bc0 https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1004.tar.bz2#b3653fdc58d03face9724f602218a904 -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.5-he0ac6c6_0.tar.bz2#5c4783b468153a1d8f33874c5bb55864 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-hca2bb57_1.conda#e67867487d8f19c9ac2b4ee7871e69de +https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.6-he0ac6c6_0.conda#6b80b7135d057de371c7284c8471b044 https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.0.31-h26416b9_0.tar.bz2#6c531bc30d49ae75b9c7c7f65bd62e3c https://conda.anaconda.org/conda-forge/linux-64/openblas-0.3.21-pthreads_h320a7e8_3.tar.bz2#29155b9196b9d78022f11d86733e25a7 https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2#69e2c796349cd9b273890bee0febfe1b https://conda.anaconda.org/conda-forge/linux-64/readline-8.1.2-h0f457ee_0.tar.bz2#db2ebbe2943aae81ed051a6a9af8e0fa https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 -https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-h166bdaf_4.tar.bz2#4b11e365c0275b808be78b30f904e295 https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2#adcf0be7897e73e312bd24353b613f74 https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.0.9-h166bdaf_8.tar.bz2#e5613f2bc717e9945840ff474419b8e4 https://conda.anaconda.org/conda-forge/linux-64/ccache-4.7.3-h2599c5e_0.tar.bz2#4feea9466084c6948bd59539f1c0bb72 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2#4e54cbfc47b8c74c2ecc1e7730d8edce -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.3-h08a2579_0.tar.bz2#d25e05e7ee0e302b52d24491db4891eb +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda#e1232042de76d24539a436d37597eb06 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-h81ceb04_0.conda#89a41adce7106749573d883b2f657d78 https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_openblas.tar.bz2#20bae26d0a1db73f758fc3754cab4719 -https://conda.anaconda.org/conda-forge/linux-64/libclang-13.0.1-default_hc23dcda_0.tar.bz2#8cebb0736cba83485b13dc10d242d96d +https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.1-h166bdaf_0.tar.bz2#f967fc95089cd247ceed56eda31de3a9 https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.1-h606061b_1.tar.bz2#ed5349aa96776e00b34eccecf4a948fe https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-16_linux64_openblas.tar.bz2#955d993f41f9354bf753d29864ea20ad -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2#901791f0ec7cddc8714e76e273013a91 -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.12-h885dcf4_1.tar.bz2#d1355eaa48f465782f228275a0a69771 +https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.6-h63197d8_0.conda#201168ef66095bbd565e124ee2c56a20 +https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.1.0-hcb278e6_1.conda#d7a07b1f5974bce4735112aaef0c1467 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h82bc61c_0.conda#a01611c54334d783847879ee40109657 +https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.31-hbc51c84_0.tar.bz2#da9633eee814d4e910fe42643a356315 +https://conda.anaconda.org/conda-forge/linux-64/nss-3.82-he02c5a1_0.conda#f8d7f11d19e4cb2207eab159fd4c0152 https://conda.anaconda.org/conda-forge/linux-64/python-3.8.15-h4a9ceb5_0_cpython.conda#dc29a8a79d0f2c80004cc06d3190104f -https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2#bb11803129cbbb53ed56f9506ff74145 -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-h166bdaf_0.tar.bz2#384e7fcb3cd162ba3e4aed4b687df566 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h166bdaf_0.tar.bz2#637054603bb7594302e3bf83f0a99879 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-h166bdaf_0.tar.bz2#732e22f1741bccea861f5668cf7342a7 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h166bdaf_0.tar.bz2#0a8e20a8aef954390b9481a527421a8c +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/linux-64/brotli-1.0.9-h166bdaf_8.tar.bz2#2ff08978892a3e8b954397c461f18418 -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.32-py38hfa26641_1.tar.bz2#eef241f25124f2f486f9994bcbf19751 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.33-py38h8dc9893_0.conda#5d50cd654981f0ccc7c878ac297afaa7 https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2#ecfff944ba3960ecb334b9a2663d708d -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.1-hc2a2eb6_0.tar.bz2#78415f0180a8d9c5bcc47889e00d5fb1 https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.74.1-h6239696_1.tar.bz2#5f442e6bc9d89ba236eb25a25c5c2815 -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py38h43d8883_1.tar.bz2#41ca56d5cac7bfc7eb4fcdbee878eb84 -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-h6ed2654_0.tar.bz2#dcc588839de1445d90995a0a2c4f3a39 +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda#c2566c2ea5f153ddd6bf4acaf7547d97 +https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.6-default_h3a83d3e_0.conda#535dd0ca1dcb165b6a8ffa10d01945fe +https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h36d4200_3.conda#c9f4416a34bc91e0eb029f912c68f81f https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.9.0-16_linux64_openblas.tar.bz2#823ceb5567e1a595deb643fcd17aed5a -https://conda.anaconda.org/conda-forge/linux-64/libpq-14.5-he2d8382_1.tar.bz2#c194811a2d160ef3210218ee508b6075 -https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b +https://conda.anaconda.org/conda-forge/linux-64/libpq-15.1-hb675445_3.conda#9873ab80ec8fab4a2c26c7580e0d7f58 +https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-252-h2a991cd_0.tar.bz2#3c5ae9f61f663b3d5e1bf7f7da0c85f5 https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/linux-64/nss-3.78-h2350873_0.tar.bz2#ab3df39f96742e6f1a9878b09274c1dc -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.23.5-py38h7042d01_0.conda#d5a3620cd8c1af4115120f21d678507a -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2#a11b4df9271a8d7917686725aa04c8f2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.1-py38hab0fcb9_0.conda#2c0b3c72dad0288d9582ccbceb250cb4 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda#5ce6a42505c6e9e6151c54c3ec8d68ea +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 +https://conda.anaconda.org/conda-forge/noarch/ply-3.11-py_1.tar.bz2#7205635cd71531943440fbfe3b6b5727 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc -https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-4.19.18-py38h709712a_8.tar.bz2#11b72f5b1cc15427c89232321172a0bc -https://conda.anaconda.org/conda-forge/noarch/pytz-2022.6-pyhd8ed1ab_0.tar.bz2#b1f26ad83328e486910ef7f6e81dc061 -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 +https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7-pyhd8ed1ab_0.conda#c8d7e34ca76d6ecc03b84bedfd99d689 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py38h0a891b7_1.tar.bz2#358beb228a53b5e1031862de3525d1d3 https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py38h0a891b7_0.tar.bz2#44421904760e9f5ae2035193e04360f0 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h166bdaf_0.tar.bz2#c9b568bd804cb2903c6be6f5f68182e4 https://conda.anaconda.org/conda-forge/linux-64/blas-devel-3.9.0-16_linux64_openblas.tar.bz2#519562d6176dab9c2ab9a8336a14c8e7 +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py38h4a40e3a_3.conda#3ac112151c6b6cfe457e976de41af0c5 https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.6-py38h43d8883_0.tar.bz2#1107ee053d55172b26c4fc905dd0238e https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.38.0-py38h0a891b7_1.tar.bz2#62c89ddefed9c5835e228a32b357a28d https://conda.anaconda.org/conda-forge/linux-64/glib-2.74.1-h6239696_1.tar.bz2#f3220a9e9d3abcbfca43419a219df7e4 https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 -https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py38h9eb91d8_3.tar.bz2#61dc7b3140b7b79b1985b53d52726d74 +https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.6-default_h2e3cab8_0.conda#1b2cee49acc5b03c73ad0f68bfe04bb8 +https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py38hb32c036_0.conda#a288a6e69efc2f20c30ebfa590e11bed +https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-16.1-h126f2b6_0.tar.bz2#e4b74b33e13dd146e7d8b5078fc9ad30 +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.9.3-py38h8ce737c_2.tar.bz2#dfd81898f0c6e9ee0c22305da6aa443e +https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.5-py38hfa26641_0.conda#7be81814bae276dc7b4c707cf1e8186b https://conda.anaconda.org/conda-forge/linux-64/blas-2.116-openblas.tar.bz2#02f34bcf0aceb6fae4c4d1ecb71c852a -https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.20.3-hd4edc92_2.tar.bz2#153cfb02fb8be7dd7cabcbcb58a63053 +https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py38h0a891b7_1005.tar.bz2#e99e08812dfff30fdd17b3f8838e2759 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py38h3d167d9_0.conda#0ef859aa9dafce54bdf3d56715daed35 +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.21.3-h25f0c4b_1.conda#0c8a8f15aa319c91d9010072278feddd https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.6.2-py38hb021067_0.tar.bz2#72422499195d8aded0dfd461c6e3e86f -https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py38h8f669ce_0.conda#dbc17622f9d159be987bd21959d5494e -https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py38h4e30db6_2.tar.bz2#71e8ccc750d0e6e9a55c63bc39a4e5b8 -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c -https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.20.2-hcf0ee16_0.tar.bz2#79d7fca692d224dc29a72bda90f78a7b +https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py38hdc8b05c_2.conda#1ff5d955870414f6883211edfe0bbf10 +https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.11.0-py38hfa26641_2.tar.bz2#ad6437509a14f1e8e5b8a354f93f340c https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.21.3-h4243ec0_1.conda#905563d166c13ba299e39d6c9fcebd1c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e -https://conda.anaconda.org/conda-forge/linux-64/qt-5.12.9-h1304e3e_6.tar.bz2#f2985d160b8c43dd427923c04cd732fe -https://conda.anaconda.org/conda-forge/linux-64/pyqt-impl-5.12.3-py38h0ffb2e6_8.tar.bz2#acfc7625a212c27f7decdca86fdb2aba -https://conda.anaconda.org/conda-forge/linux-64/pyqtchart-5.12-py38h7400c14_8.tar.bz2#78a2a6cb4ef31f997c1bee8223a9e579 -https://conda.anaconda.org/conda-forge/linux-64/pyqtwebengine-5.12.1-py38h7400c14_8.tar.bz2#857894ea9c5e53c962c3a0932efa71ea -https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.12.3-py38h578d9bd_8.tar.bz2#88368a5889f31dff922a2d57bbfc3f5b +https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.6-hf6cd601_5.conda#9c23a5205b67f2a67b19c84bf1fd7f5e +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 +https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.7-py38h7492b6b_2.tar.bz2#cfa725eff634872f90dcd5ebf8e8dc1a +https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py38h578d9bd_0.tar.bz2#e1a19f0d4686a701d4a4acce2b625acb +https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.10.0-py38h10c12cc_0.conda#466ea530d622838f6cdec4f771ddc249 +https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py38h4e30db6_2.tar.bz2#71e8ccc750d0e6e9a55c63bc39a4e5b8 diff --git a/build_tools/azure/pylatest_conda_forge_mkl_linux-64_conda.lock b/build_tools/azure/pylatest_conda_forge_mkl_linux-64_conda.lock index 569ad944f7037..4419bbb50d46b 100644 --- a/build_tools/azure/pylatest_conda_forge_mkl_linux-64_conda.lock +++ b/build_tools/azure/pylatest_conda_forge_mkl_linux-64_conda.lock @@ -3,7 +3,7 @@ # input_hash: e59a40b88334d702327a777b695d15c65c6ff904d742abc604e894d78faca06e @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2#41e4e87062433e283696cf384f952ef6 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb @@ -13,7 +13,7 @@ https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.2.0-h337968e_19. https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2#1030b1f38c129f2634eae026f704fe60 https://conda.anaconda.org/conda-forge/linux-64/mkl-include-2022.1.0-h84fe81f_915.tar.bz2#2dcd1acca05c11410d4494d7fc7dfa2a https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-3_cp311.conda#c2e2630ddb68cf52eec74dc7dfab20b5 -https://conda.anaconda.org/conda-forge/noarch/tzdata-2022f-h191b570_0.tar.bz2#e366350e2343a798e29833286abe2560 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8 https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2#f766549260d6815b0c52253f1fb1bb29 https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_19.tar.bz2#cd7a806282c16e1f2d39a7e80d3a3e0d https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab @@ -23,7 +23,7 @@ https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.8-h166bdaf_0.tar.bz https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2#d9c69a24ad678ffce24c6543a0176b00 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-h27087fc_0.tar.bz2#c4fbad8d4bddeb3c085f18cbf97fbfad -https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.10-nompi_hf0379b8_105.tar.bz2#9d3e01547ba04a57372beee01158096f +https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.10-nompi_hf0379b8_106.conda#d7407e695358f068a2a7f8295cde0567 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2#14947d8770185e5153fdd04d4673ed37 https://conda.anaconda.org/conda-forge/linux-64/gstreamer-orc-0.4.33-h166bdaf_0.tar.bz2#879c93426c9d0b84a9de4513fbce5f4f https://conda.anaconda.org/conda-forge/linux-64/icu-70.1-h27087fc_0.tar.bz2#87473a15119779e021c314249d4b4aed @@ -37,135 +37,138 @@ https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.b https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 https://conda.anaconda.org/conda-forge/linux-64/libhiredis-1.0.2-h2cc385e_0.tar.bz2#b34907d3a81a3cd8095ee83d174c074a https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2#b62b52da46c39ee2bc3c162ac7f1804d +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2#b4f717df2d377410b462328bf0e8fb7d https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2#6e8cc2173440d77708196c5b93771680 https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2#15345e56d527b330e1cacbdf58676e8f -https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.6-h9c3ff4c_1008.tar.bz2#16e143a1ed4b4fd169536373957f6fee +https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda#f204c8ba400ec475452737094fb81d52 https://conda.anaconda.org/conda-forge/linux-64/libudev1-252-h166bdaf_0.tar.bz2#174243089ec111479298a5b7099b64b5 https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.4-h166bdaf_0.tar.bz2#ac2ccf7323d21f2994e4d1f5da664f37 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2#fbe97e8fa6f275d7c76a09e795adc3e6 -https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.30.2-h27087fc_1.tar.bz2#2fe2a839394ef3a1825a5e5e296060bc +https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.31.1-h27087fc_0.tar.bz2#0af513b75f78a701a152568a31303bdf https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e -https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1s-h166bdaf_0.tar.bz2#e17553617ce05787d97715177be014d1 +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda#da0ec11a6454ae19bff5b02ed881a2b1 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_1.conda#7adaac6ff98219bcb99b45e408b80f4e https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 -https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.7.0-h924138e_0.tar.bz2#819421f81b127a5547bf96ad57eccdd9 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2#be93aabceefa2fac576e971aef407908 https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2#2161070d867d1b1204ea749c8eec4ef0 +https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.21-h583fa2b_2.conda#7b36a10b58964d4444fcba44244710c5 https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.0.9-h166bdaf_8.tar.bz2#4ae4d7795d33e02bd20f6b23d91caf82 https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.0.9-h166bdaf_8.tar.bz2#04bac51ba35ea023dc48af73c1c88c25 https://conda.anaconda.org/conda-forge/linux-64/libcap-2.66-ha37c62d_0.tar.bz2#2d7665abd0997f1a6d4b7596bc27b657 https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2#4d331e44109e3f0e19b4cb8f9b82f3e1 -https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.10-h9b69904_4.tar.bz2#390026683aef81db27ff1b8570ca1336 +https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.10-h28343ad_4.tar.bz2#4a049fc560e00e43151dc51368915fdd https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.2-h27087fc_0.tar.bz2#7daf72d8e2a8e848e11d63ed6d1026e0 -https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.45-hc0c96e0_0.tar.bz2#839aeb24ab885a7b902247a6d943d02f +https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.46-h620e276_0.conda#27e745f6f2e4b757e95dd7225fbe6bdb https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2#309dec04b70a3cc0f1e84a4013683bc0 https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1004.tar.bz2#b3653fdc58d03face9724f602218a904 -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-h7463322_0.tar.bz2#3b933ea47ef8f330c4c068af25fcd6a8 -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.5-he0ac6c6_0.tar.bz2#5c4783b468153a1d8f33874c5bb55864 -https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.0.31-haf5c9bc_0.tar.bz2#0249d755f8d26cb2ac796f9f01cfb823 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-hca2bb57_1.conda#e67867487d8f19c9ac2b4ee7871e69de +https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.6-he0ac6c6_0.conda#6b80b7135d057de371c7284c8471b044 +https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.0.31-h26416b9_0.tar.bz2#6c531bc30d49ae75b9c7c7f65bd62e3c https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2#69e2c796349cd9b273890bee0febfe1b https://conda.anaconda.org/conda-forge/linux-64/readline-8.1.2-h0f457ee_0.tar.bz2#db2ebbe2943aae81ed051a6a9af8e0fa https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2#adcf0be7897e73e312bd24353b613f74 https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.0.9-h166bdaf_8.tar.bz2#e5613f2bc717e9945840ff474419b8e4 https://conda.anaconda.org/conda-forge/linux-64/ccache-4.7.3-h2599c5e_0.tar.bz2#4feea9466084c6948bd59539f1c0bb72 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2#4e54cbfc47b8c74c2ecc1e7730d8edce -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.3-h3790be6_0.tar.bz2#7d862b05445123144bec92cb1acc8ef8 +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda#e1232042de76d24539a436d37597eb06 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-h81ceb04_0.conda#89a41adce7106749573d883b2f657d78 https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.1-h166bdaf_0.tar.bz2#f967fc95089cd247ceed56eda31de3a9 https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.1-h606061b_1.tar.bz2#ed5349aa96776e00b34eccecf4a948fe -https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.5-h63197d8_0.tar.bz2#339faf1a5e13c0d4abab84405847ad13 -https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.1.0-h27087fc_0.tar.bz2#02fa0b56a57c8421d1195bf0c021e682 -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2#901791f0ec7cddc8714e76e273013a91 +https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.8.0-h32351e8_1.tar.bz2#0c52bb2b3b621d684f3beabd4aacaca7 +https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.6-h63197d8_0.conda#201168ef66095bbd565e124ee2c56a20 +https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.1.0-hcb278e6_1.conda#d7a07b1f5974bce4735112aaef0c1467 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h82bc61c_0.conda#a01611c54334d783847879ee40109657 https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b -https://conda.anaconda.org/conda-forge/linux-64/mkl-2022.1.0-h84fe81f_915.tar.bz2#b9c8f925797a93dbff45e1626b025a6b -https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.31-h28c427c_0.tar.bz2#455d44a05123f30f66af2ca2a9652b5f -https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-h582c2e5_0_cpython.tar.bz2#ac6e08a5519c81473b4f962660d36608 -https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2#bb11803129cbbb53ed56f9506ff74145 +https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.31-hbc51c84_0.tar.bz2#da9633eee814d4e910fe42643a356315 +https://conda.anaconda.org/conda-forge/linux-64/nss-3.82-he02c5a1_0.conda#f8d7f11d19e4cb2207eab159fd4c0152 +https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-ha86cf86_0_cpython.tar.bz2#531b2b97ce96cc95a587bdf7c74e31c0 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-h166bdaf_0.tar.bz2#384e7fcb3cd162ba3e4aed4b687df566 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h166bdaf_0.tar.bz2#637054603bb7594302e3bf83f0a99879 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-h166bdaf_0.tar.bz2#732e22f1741bccea861f5668cf7342a7 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h166bdaf_0.tar.bz2#0a8e20a8aef954390b9481a527421a8c -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/linux-64/brotli-1.0.9-h166bdaf_8.tar.bz2#2ff08978892a3e8b954397c461f18418 -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.32-py311ha362b79_1.tar.bz2#b24f3bc51bda5364df92f39b9256a2a6 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.33-py311hcafe171_0.conda#3e792927e2e16119f8e6910cca25a063 https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2#ecfff944ba3960ecb334b9a2663d708d -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.1-hc2a2eb6_0.tar.bz2#78415f0180a8d9c5bcc47889e00d5fb1 https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.74.1-h6239696_1.tar.bz2#5f442e6bc9d89ba236eb25a25c5c2815 https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 -https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.21-he978b8e_1.tar.bz2#5cef21ebd70a90a0d28127543a8d3739 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py311h4dd048b_1.tar.bz2#46d451f575392c01dc193069bd89766d -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-h6ed2654_0.tar.bz2#dcc588839de1445d90995a0a2c4f3a39 -https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-16_linux64_mkl.tar.bz2#85f61af03fd291dae33150ffe89dc09a -https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.5-default_h3a83d3e_0.tar.bz2#ae4ab2853ffd9165ac91e91f64e4539d -https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h3e49a29_2.tar.bz2#3b88f1d0fe2580594d58d7e44d664617 -https://conda.anaconda.org/conda-forge/linux-64/libpq-14.5-hd77ab85_1.tar.bz2#f5c8135a70758d928a8126998a6558d8 +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda#c2566c2ea5f153ddd6bf4acaf7547d97 +https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.6-default_h3a83d3e_0.conda#535dd0ca1dcb165b6a8ffa10d01945fe +https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h36d4200_3.conda#c9f4416a34bc91e0eb029f912c68f81f +https://conda.anaconda.org/conda-forge/linux-64/libpq-15.1-hb675445_3.conda#9873ab80ec8fab4a2c26c7580e0d7f58 https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-252-h2a991cd_0.tar.bz2#3c5ae9f61f663b3d5e1bf7f7da0c85f5 -https://conda.anaconda.org/conda-forge/linux-64/mkl-devel-2022.1.0-ha770c72_916.tar.bz2#69ba49e445f87aea2cba343a71a35ca2 https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/linux-64/nss-3.78-h2350873_0.tar.bz2#ab3df39f96742e6f1a9878b09274c1dc -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2#a11b4df9271a8d7917686725aa04c8f2 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda#5ce6a42505c6e9e6151c54c3ec8d68ea +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/noarch/ply-3.11-py_1.tar.bz2#7205635cd71531943440fbfe3b6b5727 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 -https://conda.anaconda.org/conda-forge/noarch/pytz-2022.6-pyhd8ed1ab_0.tar.bz2#b1f26ad83328e486910ef7f6e81dc061 -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7-pyhd8ed1ab_0.conda#c8d7e34ca76d6ecc03b84bedfd99d689 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.7.0-h924138e_1.conda#1a272773743a97aa044fd5bcdac2138a https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py311hd4cff14_1.tar.bz2#4d86cd6dbdc1185f4e72d974f1f1f852 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h166bdaf_0.tar.bz2#c9b568bd804cb2903c6be6f5f68182e4 -https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311h409f033_2.tar.bz2#675a030b42ca1ee616e47ab208c39dff -https://conda.anaconda.org/conda-forge/linux-64/coverage-6.5.0-py311hd4cff14_1.tar.bz2#f59fc994658549d52497cb29f34b75a6 +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311h409f033_3.conda#9025d0786dbbe4bc91fd8e85502decce +https://conda.anaconda.org/conda-forge/linux-64/coverage-7.0.5-py311h2582759_0.conda#c23815b638bb37695c5e5f3fa3051e31 https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.38.0-py311hd4cff14_1.tar.bz2#871b97970cf7420780f79a62fef8eb48 https://conda.anaconda.org/conda-forge/linux-64/glib-2.74.1-h6239696_1.tar.bz2#f3220a9e9d3abcbfca43419a219df7e4 https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb -https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_mkl.tar.bz2#361bf757b95488de76c4f123805742d3 -https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.5-default_h2e3cab8_0.tar.bz2#bb1c595d445929e240a806bff0e67d9c -https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-16_linux64_mkl.tar.bz2#a2f166748917d6d6e4707841ca1f519e -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 -https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py311h9461556_3.tar.bz2#03ff0e369f200145f55f94a7a5be1cc4 -https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-16.1-h4a94279_0.tar.bz2#7a499b94463000c83e349fffb6ce2631 -https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 -https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py311hd4cff14_1005.tar.bz2#9bdac7084ecfc08338bae1b976535724 -https://conda.anaconda.org/conda-forge/linux-64/cryptography-38.0.3-py311hb3c386c_0.tar.bz2#7b17c8a122926b634b803567ac32872d -https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.21.2-hd4edc92_0.conda#3ae425efddb9da5fb35edda331e4dff7 -https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.9.0-16_linux64_mkl.tar.bz2#44ccc4d4dca6a8d57fa17442bc64b5a1 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.23.5-py311h7d28db0_0.conda#de8cf17747d9efed488cafea2c39c9a1 +https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.6-default_h2e3cab8_0.conda#1b2cee49acc5b03c73ad0f68bfe04bb8 +https://conda.anaconda.org/conda-forge/linux-64/mkl-2022.1.0-h84fe81f_915.tar.bz2#b9c8f925797a93dbff45e1626b025a6b +https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py311h104bd61_0.conda#42357babd6bc40498a2aa13ffdcebe75 +https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-16.1-h126f2b6_0.tar.bz2#e4b74b33e13dd146e7d8b5078fc9ad30 https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.5-py311ha362b79_0.conda#f6dd6ba47e2380b9c715fc45f0d45e62 -https://conda.anaconda.org/conda-forge/linux-64/blas-devel-3.9.0-16_linux64_mkl.tar.bz2#3f92c1c9e1c0e183462c5071aa02cae1 -https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.6-py311h4dd048b_0.tar.bz2#d97ffb1b2692d8846d3fc1f20766eb08 -https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.21.2-h3e40eee_0.conda#52cbed7e92713cf01b76445530396695 -https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py311h8b32b4d_0.conda#d203d6938a0c1a76cb540a2972644af7 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2#fbfa0a180d48c800f922a10a114a8632 +https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py311hd4cff14_1005.tar.bz2#9bdac7084ecfc08338bae1b976535724 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py311h9b4c7bb_0.conda#74eed5e75574839f1ae7a7048f529a66 +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.21.3-h25f0c4b_1.conda#0c8a8f15aa319c91d9010072278feddd +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-16_linux64_mkl.tar.bz2#85f61af03fd291dae33150ffe89dc09a +https://conda.anaconda.org/conda-forge/linux-64/mkl-devel-2022.1.0-ha770c72_916.tar.bz2#69ba49e445f87aea2cba343a71a35ca2 https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.11.0-py311ha362b79_2.tar.bz2#d250de3c3013c210865cc033164d6b60 https://conda.anaconda.org/conda-forge/noarch/pytest-cov-4.0.0-pyhd8ed1ab_0.tar.bz2#c9e3f8bfdb9bfc34aa1836a6ed4b25d7 https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.9.3-py311h69910c8_2.tar.bz2#bb44baf80c9e22d4581dea2c030adb1c -https://conda.anaconda.org/conda-forge/linux-64/blas-2.116-mkl.tar.bz2#c196a26abf6b4f132c88828ab7c2231c -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.6.2-py311he728205_0.tar.bz2#96ec1bd38ecfc5ead0ac1eb8c4bf35ff -https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py311h59ea3da_2.tar.bz2#4521a31493dbc02ffee57c524967b847 +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.21.3-h4243ec0_1.conda#905563d166c13ba299e39d6c9fcebd1c +https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_mkl.tar.bz2#361bf757b95488de76c4f123805742d3 +https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-16_linux64_mkl.tar.bz2#a2f166748917d6d6e4707841ca1f519e +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e -https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.6-h7acdfc8_2.conda#7ec7d259b6d725ca952d40e2355e192c -https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2#0738978569b10669bdef41c671252dd1 +https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.9.0-16_linux64_mkl.tar.bz2#44ccc4d4dca6a8d57fa17442bc64b5a1 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.1-py311hbde0eaa_0.conda#236dda53b49b70717d7280efb3494db7 +https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.6-hf6cd601_5.conda#9c23a5205b67f2a67b19c84bf1fd7f5e +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 +https://conda.anaconda.org/conda-forge/linux-64/blas-devel-3.9.0-16_linux64_mkl.tar.bz2#3f92c1c9e1c0e183462c5071aa02cae1 +https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.6-py311h4dd048b_0.tar.bz2#d97ffb1b2692d8846d3fc1f20766eb08 +https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py311h2872171_2.conda#dde47054db21d0aaf96bc1cfb81ef292 https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.7-py311h3408d8f_2.tar.bz2#5bf133633260e9d8d3f9a50ef78b49b2 https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 +https://conda.anaconda.org/conda-forge/linux-64/blas-2.116-mkl.tar.bz2#c196a26abf6b4f132c88828ab7c2231c https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.12-pyhd8ed1ab_0.conda#0317ed52e504b93da000e8a027628775 +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.6.2-py311he728205_0.tar.bz2#96ec1bd38ecfc5ead0ac1eb8c4bf35ff +https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py311h38be061_0.tar.bz2#190a1bc60c0f7053daad403fa745fef3 +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.10.0-py311h8e6699e_0.conda#0dd612573e8e8b30bff771dabefc79b1 +https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py311h59ea3da_2.tar.bz2#4521a31493dbc02ffee57c524967b847 diff --git a/build_tools/azure/pylatest_conda_forge_mkl_no_coverage_linux-64_conda.lock b/build_tools/azure/pylatest_conda_forge_mkl_no_coverage_linux-64_conda.lock index 86625a3a2f4ce..f0653c3c6f69b 100644 --- a/build_tools/azure/pylatest_conda_forge_mkl_no_coverage_linux-64_conda.lock +++ b/build_tools/azure/pylatest_conda_forge_mkl_no_coverage_linux-64_conda.lock @@ -3,7 +3,7 @@ # input_hash: 23f21da087e988398169e2695d60ff854f13d5f56de5b588162ff77b8eb7a4bb @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2#41e4e87062433e283696cf384f952ef6 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb @@ -13,7 +13,7 @@ https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.2.0-h337968e_19. https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2#1030b1f38c129f2634eae026f704fe60 https://conda.anaconda.org/conda-forge/linux-64/mkl-include-2022.1.0-h84fe81f_915.tar.bz2#2dcd1acca05c11410d4494d7fc7dfa2a https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.11-3_cp311.conda#c2e2630ddb68cf52eec74dc7dfab20b5 -https://conda.anaconda.org/conda-forge/noarch/tzdata-2022f-h191b570_0.tar.bz2#e366350e2343a798e29833286abe2560 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8 https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2#f766549260d6815b0c52253f1fb1bb29 https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_19.tar.bz2#cd7a806282c16e1f2d39a7e80d3a3e0d https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2#fee5683a3f04bd15cbd8318b096a27ab @@ -23,7 +23,7 @@ https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.8-h166bdaf_0.tar.bz https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2#d9c69a24ad678ffce24c6543a0176b00 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-h27087fc_0.tar.bz2#c4fbad8d4bddeb3c085f18cbf97fbfad -https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.10-nompi_hf0379b8_105.tar.bz2#9d3e01547ba04a57372beee01158096f +https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.10-nompi_hf0379b8_106.conda#d7407e695358f068a2a7f8295cde0567 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2#14947d8770185e5153fdd04d4673ed37 https://conda.anaconda.org/conda-forge/linux-64/gstreamer-orc-0.4.33-h166bdaf_0.tar.bz2#879c93426c9d0b84a9de4513fbce5f4f https://conda.anaconda.org/conda-forge/linux-64/icu-70.1-h27087fc_0.tar.bz2#87473a15119779e021c314249d4b4aed @@ -37,122 +37,135 @@ https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.b https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 https://conda.anaconda.org/conda-forge/linux-64/libhiredis-1.0.2-h2cc385e_0.tar.bz2#b34907d3a81a3cd8095ee83d174c074a https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2#b62b52da46c39ee2bc3c162ac7f1804d +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2#b4f717df2d377410b462328bf0e8fb7d https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2#6e8cc2173440d77708196c5b93771680 https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2#15345e56d527b330e1cacbdf58676e8f -https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.6-h9c3ff4c_1008.tar.bz2#16e143a1ed4b4fd169536373957f6fee +https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda#f204c8ba400ec475452737094fb81d52 https://conda.anaconda.org/conda-forge/linux-64/libudev1-252-h166bdaf_0.tar.bz2#174243089ec111479298a5b7099b64b5 https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.4-h166bdaf_0.tar.bz2#ac2ccf7323d21f2994e4d1f5da664f37 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2#fbe97e8fa6f275d7c76a09e795adc3e6 -https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.30.2-h27087fc_1.tar.bz2#2fe2a839394ef3a1825a5e5e296060bc +https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.31.1-h27087fc_0.tar.bz2#0af513b75f78a701a152568a31303bdf https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e -https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1s-h166bdaf_0.tar.bz2#e17553617ce05787d97715177be014d1 +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda#da0ec11a6454ae19bff5b02ed881a2b1 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_1.conda#7adaac6ff98219bcb99b45e408b80f4e https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 -https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.7.0-h924138e_0.tar.bz2#819421f81b127a5547bf96ad57eccdd9 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2#be93aabceefa2fac576e971aef407908 https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2#2161070d867d1b1204ea749c8eec4ef0 +https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.21-h583fa2b_2.conda#7b36a10b58964d4444fcba44244710c5 https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.0.9-h166bdaf_8.tar.bz2#4ae4d7795d33e02bd20f6b23d91caf82 https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.0.9-h166bdaf_8.tar.bz2#04bac51ba35ea023dc48af73c1c88c25 https://conda.anaconda.org/conda-forge/linux-64/libcap-2.66-ha37c62d_0.tar.bz2#2d7665abd0997f1a6d4b7596bc27b657 https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2#4d331e44109e3f0e19b4cb8f9b82f3e1 -https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.10-h9b69904_4.tar.bz2#390026683aef81db27ff1b8570ca1336 +https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.10-h28343ad_4.tar.bz2#4a049fc560e00e43151dc51368915fdd https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.2-h27087fc_0.tar.bz2#7daf72d8e2a8e848e11d63ed6d1026e0 -https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.45-hc0c96e0_0.tar.bz2#839aeb24ab885a7b902247a6d943d02f +https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.46-h620e276_0.conda#27e745f6f2e4b757e95dd7225fbe6bdb https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2#309dec04b70a3cc0f1e84a4013683bc0 https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1004.tar.bz2#b3653fdc58d03face9724f602218a904 -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-h7463322_0.tar.bz2#3b933ea47ef8f330c4c068af25fcd6a8 -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.5-he0ac6c6_0.tar.bz2#5c4783b468153a1d8f33874c5bb55864 -https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.0.31-haf5c9bc_0.tar.bz2#0249d755f8d26cb2ac796f9f01cfb823 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-hca2bb57_1.conda#e67867487d8f19c9ac2b4ee7871e69de +https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.6-he0ac6c6_0.conda#6b80b7135d057de371c7284c8471b044 +https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.0.31-h26416b9_0.tar.bz2#6c531bc30d49ae75b9c7c7f65bd62e3c https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2#69e2c796349cd9b273890bee0febfe1b https://conda.anaconda.org/conda-forge/linux-64/readline-8.1.2-h0f457ee_0.tar.bz2#db2ebbe2943aae81ed051a6a9af8e0fa https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2#adcf0be7897e73e312bd24353b613f74 https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.0.9-h166bdaf_8.tar.bz2#e5613f2bc717e9945840ff474419b8e4 https://conda.anaconda.org/conda-forge/linux-64/ccache-4.7.3-h2599c5e_0.tar.bz2#4feea9466084c6948bd59539f1c0bb72 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2#4e54cbfc47b8c74c2ecc1e7730d8edce -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.3-h3790be6_0.tar.bz2#7d862b05445123144bec92cb1acc8ef8 +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda#e1232042de76d24539a436d37597eb06 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-h81ceb04_0.conda#89a41adce7106749573d883b2f657d78 https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.1-h166bdaf_0.tar.bz2#f967fc95089cd247ceed56eda31de3a9 https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.1-h606061b_1.tar.bz2#ed5349aa96776e00b34eccecf4a948fe -https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.5-h63197d8_0.tar.bz2#339faf1a5e13c0d4abab84405847ad13 -https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.1.0-h27087fc_0.tar.bz2#02fa0b56a57c8421d1195bf0c021e682 -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2#901791f0ec7cddc8714e76e273013a91 +https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.8.0-h32351e8_1.tar.bz2#0c52bb2b3b621d684f3beabd4aacaca7 +https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.6-h63197d8_0.conda#201168ef66095bbd565e124ee2c56a20 +https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.1.0-hcb278e6_1.conda#d7a07b1f5974bce4735112aaef0c1467 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h82bc61c_0.conda#a01611c54334d783847879ee40109657 https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b -https://conda.anaconda.org/conda-forge/linux-64/mkl-2022.1.0-h84fe81f_915.tar.bz2#b9c8f925797a93dbff45e1626b025a6b -https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.31-h28c427c_0.tar.bz2#455d44a05123f30f66af2ca2a9652b5f -https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-h582c2e5_0_cpython.tar.bz2#ac6e08a5519c81473b4f962660d36608 -https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2#bb11803129cbbb53ed56f9506ff74145 +https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.31-hbc51c84_0.tar.bz2#da9633eee814d4e910fe42643a356315 +https://conda.anaconda.org/conda-forge/linux-64/nss-3.82-he02c5a1_0.conda#f8d7f11d19e4cb2207eab159fd4c0152 +https://conda.anaconda.org/conda-forge/linux-64/python-3.11.0-ha86cf86_0_cpython.tar.bz2#531b2b97ce96cc95a587bdf7c74e31c0 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-h166bdaf_0.tar.bz2#384e7fcb3cd162ba3e4aed4b687df566 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h166bdaf_0.tar.bz2#637054603bb7594302e3bf83f0a99879 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-h166bdaf_0.tar.bz2#732e22f1741bccea861f5668cf7342a7 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h166bdaf_0.tar.bz2#0a8e20a8aef954390b9481a527421a8c -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/linux-64/brotli-1.0.9-h166bdaf_8.tar.bz2#2ff08978892a3e8b954397c461f18418 -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.32-py311ha362b79_1.tar.bz2#b24f3bc51bda5364df92f39b9256a2a6 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.33-py311hcafe171_0.conda#3e792927e2e16119f8e6910cca25a063 https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2#ecfff944ba3960ecb334b9a2663d708d -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.1-hc2a2eb6_0.tar.bz2#78415f0180a8d9c5bcc47889e00d5fb1 https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.74.1-h6239696_1.tar.bz2#5f442e6bc9d89ba236eb25a25c5c2815 -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 -https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.21-he978b8e_1.tar.bz2#5cef21ebd70a90a0d28127543a8d3739 +https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py311h4dd048b_1.tar.bz2#46d451f575392c01dc193069bd89766d -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-h6ed2654_0.tar.bz2#dcc588839de1445d90995a0a2c4f3a39 -https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-16_linux64_mkl.tar.bz2#85f61af03fd291dae33150ffe89dc09a -https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.5-default_h3a83d3e_0.tar.bz2#ae4ab2853ffd9165ac91e91f64e4539d -https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h3e49a29_2.tar.bz2#3b88f1d0fe2580594d58d7e44d664617 -https://conda.anaconda.org/conda-forge/linux-64/libpq-14.5-hd77ab85_1.tar.bz2#f5c8135a70758d928a8126998a6558d8 +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda#c2566c2ea5f153ddd6bf4acaf7547d97 +https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.6-default_h3a83d3e_0.conda#535dd0ca1dcb165b6a8ffa10d01945fe +https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h36d4200_3.conda#c9f4416a34bc91e0eb029f912c68f81f +https://conda.anaconda.org/conda-forge/linux-64/libpq-15.1-hb675445_3.conda#9873ab80ec8fab4a2c26c7580e0d7f58 https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-252-h2a991cd_0.tar.bz2#3c5ae9f61f663b3d5e1bf7f7da0c85f5 -https://conda.anaconda.org/conda-forge/linux-64/mkl-devel-2022.1.0-ha770c72_916.tar.bz2#69ba49e445f87aea2cba343a71a35ca2 https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/linux-64/nss-3.78-h2350873_0.tar.bz2#ab3df39f96742e6f1a9878b09274c1dc -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2#a11b4df9271a8d7917686725aa04c8f2 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda#5ce6a42505c6e9e6151c54c3ec8d68ea +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/noarch/ply-3.11-py_1.tar.bz2#7205635cd71531943440fbfe3b6b5727 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc -https://conda.anaconda.org/conda-forge/noarch/pytz-2022.6-pyhd8ed1ab_0.tar.bz2#b1f26ad83328e486910ef7f6e81dc061 -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 +https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7-pyhd8ed1ab_0.conda#c8d7e34ca76d6ecc03b84bedfd99d689 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 +https://conda.anaconda.org/conda-forge/linux-64/tbb-2021.7.0-h924138e_1.conda#1a272773743a97aa044fd5bcdac2138a https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py311hd4cff14_1.tar.bz2#4d86cd6dbdc1185f4e72d974f1f1f852 https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h166bdaf_0.tar.bz2#c9b568bd804cb2903c6be6f5f68182e4 +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py311h409f033_3.conda#9025d0786dbbe4bc91fd8e85502decce https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.38.0-py311hd4cff14_1.tar.bz2#871b97970cf7420780f79a62fef8eb48 https://conda.anaconda.org/conda-forge/linux-64/glib-2.74.1-h6239696_1.tar.bz2#f3220a9e9d3abcbfca43419a219df7e4 https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb +https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.6-default_h2e3cab8_0.conda#1b2cee49acc5b03c73ad0f68bfe04bb8 +https://conda.anaconda.org/conda-forge/linux-64/mkl-2022.1.0-h84fe81f_915.tar.bz2#b9c8f925797a93dbff45e1626b025a6b +https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py311h104bd61_0.conda#42357babd6bc40498a2aa13ffdcebe75 +https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-16.1-h126f2b6_0.tar.bz2#e4b74b33e13dd146e7d8b5078fc9ad30 +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c +https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 +https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.5-py311ha362b79_0.conda#f6dd6ba47e2380b9c715fc45f0d45e62 +https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py311hd4cff14_1005.tar.bz2#9bdac7084ecfc08338bae1b976535724 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py311h9b4c7bb_0.conda#74eed5e75574839f1ae7a7048f529a66 +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.21.3-h25f0c4b_1.conda#0c8a8f15aa319c91d9010072278feddd +https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-16_linux64_mkl.tar.bz2#85f61af03fd291dae33150ffe89dc09a +https://conda.anaconda.org/conda-forge/linux-64/mkl-devel-2022.1.0-ha770c72_916.tar.bz2#69ba49e445f87aea2cba343a71a35ca2 +https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.11.0-py311ha362b79_2.tar.bz2#d250de3c3013c210865cc033164d6b60 +https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.21.3-h4243ec0_1.conda#905563d166c13ba299e39d6c9fcebd1c https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_mkl.tar.bz2#361bf757b95488de76c4f123805742d3 -https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.5-default_h2e3cab8_0.tar.bz2#bb1c595d445929e240a806bff0e67d9c https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-16_linux64_mkl.tar.bz2#a2f166748917d6d6e4707841ca1f519e -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 -https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py311h9461556_3.tar.bz2#03ff0e369f200145f55f94a7a5be1cc4 -https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-16.1-h4a94279_0.tar.bz2#7a499b94463000c83e349fffb6ce2631 -https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 -https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.21.2-hd4edc92_0.conda#3ae425efddb9da5fb35edda331e4dff7 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.9.0-16_linux64_mkl.tar.bz2#44ccc4d4dca6a8d57fa17442bc64b5a1 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.23.5-py311h7d28db0_0.conda#de8cf17747d9efed488cafea2c39c9a1 -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c -https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.5-py311ha362b79_0.conda#f6dd6ba47e2380b9c715fc45f0d45e62 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.1-py311hbde0eaa_0.conda#236dda53b49b70717d7280efb3494db7 +https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.6-hf6cd601_5.conda#9c23a5205b67f2a67b19c84bf1fd7f5e +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 https://conda.anaconda.org/conda-forge/linux-64/blas-devel-3.9.0-16_linux64_mkl.tar.bz2#3f92c1c9e1c0e183462c5071aa02cae1 https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.6-py311h4dd048b_0.tar.bz2#d97ffb1b2692d8846d3fc1f20766eb08 -https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.21.2-h3e40eee_0.conda#52cbed7e92713cf01b76445530396695 -https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py311h8b32b4d_0.conda#d203d6938a0c1a76cb540a2972644af7 -https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.11.0-py311ha362b79_2.tar.bz2#d250de3c3013c210865cc033164d6b60 -https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.9.3-py311h69910c8_2.tar.bz2#bb44baf80c9e22d4581dea2c030adb1c +https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py311h2872171_2.conda#dde47054db21d0aaf96bc1cfb81ef292 +https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.7-py311h3408d8f_2.tar.bz2#5bf133633260e9d8d3f9a50ef78b49b2 +https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 https://conda.anaconda.org/conda-forge/linux-64/blas-2.116-mkl.tar.bz2#c196a26abf6b4f132c88828ab7c2231c https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.6.2-py311he728205_0.tar.bz2#96ec1bd38ecfc5ead0ac1eb8c4bf35ff -https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py311h59ea3da_2.tar.bz2#4521a31493dbc02ffee57c524967b847 -https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e -https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.6-h7acdfc8_2.conda#7ec7d259b6d725ca952d40e2355e192c -https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.7-py311h3408d8f_2.tar.bz2#5bf133633260e9d8d3f9a50ef78b49b2 +https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py311h38be061_0.tar.bz2#190a1bc60c0f7053daad403fa745fef3 +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.10.0-py311h8e6699e_0.conda#0dd612573e8e8b30bff771dabefc79b1 +https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py311h59ea3da_2.tar.bz2#4521a31493dbc02ffee57c524967b847 diff --git a/build_tools/azure/pylatest_conda_forge_mkl_osx-64_conda.lock b/build_tools/azure/pylatest_conda_forge_mkl_osx-64_conda.lock index cf7dba375a6a2..4444d0b0ff97a 100644 --- a/build_tools/azure/pylatest_conda_forge_mkl_osx-64_conda.lock +++ b/build_tools/azure/pylatest_conda_forge_mkl_osx-64_conda.lock @@ -3,22 +3,23 @@ # input_hash: 71e12e5567c1774957288c7db48fdb8c9ad13a8d69bf8e9bb6790429d0b35dcc @EXPLICIT https://conda.anaconda.org/conda-forge/osx-64/bzip2-1.0.8-h0d85af4_4.tar.bz2#37edc4e6304ca87316e160f5ca0bd1b5 -https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2022.9.24-h033912b_0.tar.bz2#67b268c32433047914482def1ce215c2 +https://conda.anaconda.org/conda-forge/osx-64/ca-certificates-2022.12.7-h033912b_0.conda#af2bdcd68f16ce030ca957cdeb83d88a https://conda.anaconda.org/conda-forge/osx-64/jpeg-9e-hac89ed1_2.tar.bz2#60d90a3f5803660c5c2a2e9d883df0a6 https://conda.anaconda.org/conda-forge/osx-64/libbrotlicommon-1.0.9-hb7f2c08_8.tar.bz2#37157d273eaf3bc7d6862104161d9ec9 https://conda.anaconda.org/conda-forge/osx-64/libcxx-14.0.6-hccf4f1f_0.tar.bz2#208a6a874b073277374de48a782f6b10 https://conda.anaconda.org/conda-forge/osx-64/libdeflate-1.14-hb7f2c08_0.tar.bz2#ce2a6075114c9b64ad8cace52492feee https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2#ccb34fb14960ad8b125962d3d79b31a9 -https://conda.anaconda.org/conda-forge/noarch/libgfortran-devel_osx-64-11.3.0-h824d247_26.tar.bz2#815db11aee25eff0dbb5f91e0cbac6cf +https://conda.anaconda.org/conda-forge/noarch/libgfortran-devel_osx-64-11.3.0-h824d247_27.conda#3729d4388eb5a801b148dd4802899dba https://conda.anaconda.org/conda-forge/osx-64/libiconv-1.17-hac89ed1_0.tar.bz2#691d103d11180486154af49c037b7ed9 +https://conda.anaconda.org/conda-forge/osx-64/libjpeg-turbo-2.1.4-hb7f2c08_0.tar.bz2#a8adc43e4b09be9c2ddbf89900956db2 https://conda.anaconda.org/conda-forge/osx-64/libwebp-base-1.2.4-h775f41a_0.tar.bz2#28807bef802a354f9c164e7ab242c5cb https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.2.13-hfd90126_4.tar.bz2#35eb3fce8d51ed3c1fd4122bad48250b -https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-15.0.5-h61d9ccf_0.tar.bz2#81ceb8ca1476f31cbaacf7ac845b6fff +https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-15.0.6-h61d9ccf_0.conda#3a900993deb973d86d98361ceef49ab3 https://conda.anaconda.org/conda-forge/osx-64/mkl-include-2022.1.0-h6bab518_928.tar.bz2#67f8511a5eaf693a202486f74035b3f7 https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.3-h96cf925_1.tar.bz2#76217ebfbb163ff2770a261f955a5861 https://conda.anaconda.org/conda-forge/osx-64/pthread-stubs-0.4-hc929b4f_1001.tar.bz2#addd19059de62181cd11ae8f4ef26084 https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.11-3_cp311.conda#5e0a069a585445333868d2c6651c3b3f -https://conda.anaconda.org/conda-forge/noarch/tzdata-2022f-h191b570_0.tar.bz2#e366350e2343a798e29833286abe2560 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxau-1.0.9-h35c211d_0.tar.bz2#c5049997b2e98edfbcdd294582f66281 https://conda.anaconda.org/conda-forge/osx-64/xorg-libxdmcp-1.1.3-h35c211d_0.tar.bz2#86ac76d6bf1cbb9621943eb3bd9ae36e https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.6-h775f41a_0.tar.bz2#a72f9d4ea13d55d745ff1ed594747f10 @@ -27,56 +28,58 @@ https://conda.anaconda.org/conda-forge/osx-64/isl-0.25-hb486fe8_0.tar.bz2#45a9a4 https://conda.anaconda.org/conda-forge/osx-64/lerc-4.0.0-hb486fe8_0.tar.bz2#f9d6a4c82889d5ecedec1d90eb673c55 https://conda.anaconda.org/conda-forge/osx-64/libbrotlidec-1.0.9-hb7f2c08_8.tar.bz2#7f952a036d9014b4dab96c6ea0f8c2a7 https://conda.anaconda.org/conda-forge/osx-64/libbrotlienc-1.0.9-hb7f2c08_8.tar.bz2#b36a3bfe866d9127f25f286506982166 -https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-11.3.0-h082f757_26.tar.bz2#11835360754e5caca43cfaa3a81dfca5 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran5-11.3.0-h082f757_27.conda#f7602714b2be91be36f00fb75c45cb14 https://conda.anaconda.org/conda-forge/osx-64/libllvm14-14.0.6-h5b596cc_1.tar.bz2#c61f692b0e98efc1ef772fdf7d14e81a https://conda.anaconda.org/conda-forge/osx-64/libpng-1.6.39-ha978bb4_0.conda#35e4928794c5391aec14ffdf1deaaee5 https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.40.0-ha978bb4_0.tar.bz2#ceb13b6726534b96e3b4e3dda91e9050 https://conda.anaconda.org/conda-forge/osx-64/libxcb-1.13-h0d85af4_1004.tar.bz2#eb7860935e14aec936065cbc21a1a962 -https://conda.anaconda.org/conda-forge/osx-64/openssl-3.0.7-hfd90126_0.tar.bz2#78d8266753a5db378ef0f9302be9990f +https://conda.anaconda.org/conda-forge/osx-64/openssl-3.0.7-hfd90126_1.conda#7a3fb6d40e0aa5dbb5b4ef54462f00a8 https://conda.anaconda.org/conda-forge/osx-64/readline-8.1.2-h3899abd_0.tar.bz2#89fa404901fa8fb7d4f4e07083b8d635 https://conda.anaconda.org/conda-forge/osx-64/tapi-1100.0.11-h9ce4665_0.tar.bz2#f9ff42ccf809a21ba6f8607f8de36108 -https://conda.anaconda.org/conda-forge/osx-64/tbb-2021.7.0-hb8565cd_0.tar.bz2#41dae453624c0b84c5921ad2efd45983 +https://conda.anaconda.org/conda-forge/osx-64/tbb-2021.7.0-hb8565cd_1.conda#1d7d711419ed9e4a96370d8749cec3c1 https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.12-h5dbffcc_0.tar.bz2#8e9480d9c47061db2ed1b4ecce519a7f https://conda.anaconda.org/conda-forge/osx-64/zlib-1.2.13-hfd90126_4.tar.bz2#be90e6223c74ea253080abae19b3bdb1 https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.2-hfa58983_4.tar.bz2#0b446e84f3ccf085e590dc1f73eebe3f https://conda.anaconda.org/conda-forge/osx-64/brotli-bin-1.0.9-hb7f2c08_8.tar.bz2#aac5ad0d8f747ef7f871508146df75d9 -https://conda.anaconda.org/conda-forge/osx-64/freetype-2.12.1-h3f81eb7_0.tar.bz2#6afb5b1664496c575117efe9aa2c9ba9 +https://conda.anaconda.org/conda-forge/osx-64/freetype-2.12.1-h3f81eb7_1.conda#852224ea3e8991a8342228eab274840e https://conda.anaconda.org/conda-forge/osx-64/libclang-cpp14-14.0.6-default_h55ffa42_0.tar.bz2#9b9bc2f878d47e6846e3d01ca0fcb921 -https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-9_5_0_h97931a8_26.tar.bz2#ac9c1a84323edab6c3ff9d3e586ab3cc -https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.4.0-hdb44e8a_4.tar.bz2#09195c43a896fe98b82dcebfa1d6eab1 +https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-11_3_0_h97931a8_27.conda#7d25335e67256924aa04de681e68e807 +https://conda.anaconda.org/conda-forge/osx-64/libtiff-4.5.0-h6268bbc_0.conda#f32f9708c8d6f13e20a524c6da9a881e https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-14.0.6-h5b596cc_1.tar.bz2#d99491efd3d672b3496e9fc9273da7c0 https://conda.anaconda.org/conda-forge/osx-64/mkl-2022.1.0-h860c996_928.tar.bz2#98a4d58de0ba6e61ce46620b775c19ce https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.1.0-h0f52abe_1.tar.bz2#afe26b08c2d2265b4d663d199000e5da https://conda.anaconda.org/conda-forge/osx-64/python-3.11.0-h559f36b_0_cpython.tar.bz2#9eac7bb07be3725945c23c4ae90f9faa https://conda.anaconda.org/conda-forge/osx-64/sigtool-0.1.3-h88f4db0_0.tar.bz2#fbfb84b9de9a6939cb165c02c69b1865 -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/osx-64/brotli-1.0.9-hb7f2c08_8.tar.bz2#55f612fe4a9b5f6ac76348b6de94aaeb -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/osx-64/clang-14-14.0.6-default_h55ffa42_0.tar.bz2#f4b08faae104f8a5483c06f7c6464b35 https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/osx-64/cython-0.29.32-py311h814d153_1.tar.bz2#d470cb2ffe557d78c7fa324ff39b66cb -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/osx-64/cython-0.29.33-py311h814d153_0.conda#810cc5100d90e38aa366ca32e3e6749d +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/osx-64/kiwisolver-1.4.4-py311hd2070f0_1.tar.bz2#5219e72a43e53e8f6af4fdf76a0f90ef -https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.14-h90f4b2a_0.tar.bz2#e56c432e9a78c63692fa6bd076a15713 +https://conda.anaconda.org/conda-forge/osx-64/lcms2-2.14-h29502cd_1.conda#1e42174021ffc69545f0814b9478dee3 https://conda.anaconda.org/conda-forge/osx-64/ld64_osx-64-609-hfd63004_11.conda#8881d41cb8fa1104d4545c6b7ddc9671 https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-16_osx64_mkl.tar.bz2#96b23c2ca3208c5cb1ed34270448af5c https://conda.anaconda.org/conda-forge/osx-64/libhiredis-1.0.2-h2beb688_0.tar.bz2#524282b2c46c9dedf051b3bc2ae05494 https://conda.anaconda.org/conda-forge/osx-64/mkl-devel-2022.1.0-h694c41f_929.tar.bz2#041ceef009fe6d29cbd2555907c23ab3 https://conda.anaconda.org/conda-forge/osx-64/mpc-1.2.1-hbb51d92_0.tar.bz2#9f46d6ad4c460679ee997abc10da3bac https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.0-h5d0d7b0_1.tar.bz2#be533cc782981a0ec5eed28aa618470a +https://conda.anaconda.org/conda-forge/osx-64/openjpeg-2.5.0-h13ac156_2.conda#299a29af9ac9f550ad459d655739280b +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 -https://conda.anaconda.org/conda-forge/noarch/pytz-2022.6-pyhd8ed1ab_0.tar.bz2#b1f26ad83328e486910ef7f6e81dc061 -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7-pyhd8ed1ab_0.conda#c8d7e34ca76d6ecc03b84bedfd99d689 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 @@ -84,47 +87,47 @@ https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5 https://conda.anaconda.org/conda-forge/osx-64/tornado-6.2-py311h5547dcb_1.tar.bz2#bc9918caedfa2de9e582104bf605d57d https://conda.anaconda.org/conda-forge/osx-64/ccache-4.7.3-h2822714_0.tar.bz2#a119676fd25b0268da665107f7176ec6 https://conda.anaconda.org/conda-forge/osx-64/cctools_osx-64-973.0.1-hcc6d90d_11.conda#f1af817221bc31e7c770e1ea15374355 -https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.1-py311ha86e640_2.tar.bz2#6b2c5fa2e823356561717fc8b8ce3433 +https://conda.anaconda.org/conda-forge/osx-64/cffi-1.15.1-py311ha86e640_3.conda#5967be4da33261eada7cc79593f71088 https://conda.anaconda.org/conda-forge/osx-64/clang-14.0.6-h694c41f_0.tar.bz2#77667c3c75b88f12782f628d171ffeda -https://conda.anaconda.org/conda-forge/osx-64/coverage-6.5.0-py311h5547dcb_1.tar.bz2#5adc116748636d56a17e9068081db5ca +https://conda.anaconda.org/conda-forge/osx-64/coverage-7.0.5-py311h5547dcb_0.conda#a95045e19d6928ff497adc4bd47b032b https://conda.anaconda.org/conda-forge/osx-64/fonttools-4.38.0-py311h5547dcb_1.tar.bz2#6fc564da4dd28e360f4cfee7bee95cf9 -https://conda.anaconda.org/conda-forge/osx-64/gfortran_impl_osx-64-11.3.0-h1f927f5_26.tar.bz2#f1b788b41dc5171493563686023a165c +https://conda.anaconda.org/conda-forge/osx-64/gfortran_impl_osx-64-11.3.0-h1f927f5_27.conda#0bb7f54e22a2136588b33e7b0bf24148 https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb https://conda.anaconda.org/conda-forge/osx-64/ld64-609-hc6ad406_11.conda#9e14075f26a915bc6180b40789138adf https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-16_osx64_mkl.tar.bz2#430c4d18fd8bbc987c4367f5d16135cf https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-16_osx64_mkl.tar.bz2#757f1ae46973ce6542784d99b9984d8d -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 -https://conda.anaconda.org/conda-forge/osx-64/pillow-9.2.0-py311he7df5c9_3.tar.bz2#98a9590d51ca20ae722ae5f850ddc6ca +https://conda.anaconda.org/conda-forge/osx-64/pillow-9.4.0-py311hafe3759_0.conda#1a60f73d3348e46610f4b6d4d0b25c5f +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 https://conda.anaconda.org/conda-forge/osx-64/brotlipy-0.7.0-py311h5547dcb_1005.tar.bz2#5f97ac938a90d06eebea42c321abe0d7 https://conda.anaconda.org/conda-forge/osx-64/cctools-973.0.1-h76f1dac_11.conda#77d8192c013d7a4a355aee5b0ae1ae20 https://conda.anaconda.org/conda-forge/osx-64/clangxx-14.0.6-default_h55ffa42_0.tar.bz2#6a46064b0506895d090302433e70397b -https://conda.anaconda.org/conda-forge/osx-64/cryptography-38.0.3-py311h61927ef_0.tar.bz2#dbbef5733e57a4e785057125017340b5 +https://conda.anaconda.org/conda-forge/osx-64/cryptography-39.0.0-py311h61927ef_0.conda#b2893b3bd6cb56dbac5278a976fc0502 https://conda.anaconda.org/conda-forge/osx-64/liblapacke-3.9.0-16_osx64_mkl.tar.bz2#ba52eebcca282a5abaa3d3ac79cf2b05 -https://conda.anaconda.org/conda-forge/osx-64/numpy-1.23.5-py311h62c7003_0.conda#e8c8aa5d60b4d22153c1f0fdb8b1bb22 -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c +https://conda.anaconda.org/conda-forge/osx-64/numpy-1.24.1-py311h62c7003_0.conda#b1994c9a248f5a0b45b641f185dbaede +https://conda.anaconda.org/conda-forge/noarch/pytest-cov-4.0.0-pyhd8ed1ab_0.tar.bz2#c9e3f8bfdb9bfc34aa1836a6ed4b25d7 +https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf https://conda.anaconda.org/conda-forge/osx-64/blas-devel-3.9.0-16_osx64_mkl.tar.bz2#2fb6331f94446754c896d1f11d3afa1c https://conda.anaconda.org/conda-forge/noarch/compiler-rt_osx-64-14.0.6-hab78ec2_0.tar.bz2#4fdde3f4ed31722a1c811723f5db82f0 https://conda.anaconda.org/conda-forge/osx-64/contourpy-1.0.6-py311hd2070f0_0.tar.bz2#7aff06dca8dc89b96ba3b8caeb6dc2c9 -https://conda.anaconda.org/conda-forge/osx-64/pandas-1.5.2-py311hd84f3f5_0.conda#c061bfc7a65e7b7a1757d2476056acc3 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2#fbfa0a180d48c800f922a10a114a8632 -https://conda.anaconda.org/conda-forge/noarch/pytest-cov-4.0.0-pyhd8ed1ab_0.tar.bz2#c9e3f8bfdb9bfc34aa1836a6ed4b25d7 -https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf -https://conda.anaconda.org/conda-forge/osx-64/scipy-1.9.3-py311h939689b_2.tar.bz2#ad8a377dabefbd942989ff55e3c97e16 +https://conda.anaconda.org/conda-forge/osx-64/pandas-1.5.2-py311hd84f3f5_2.conda#2952f7263a51d4286f1ff168887a5715 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e https://conda.anaconda.org/conda-forge/osx-64/blas-2.116-mkl.tar.bz2#bcaf774ad76aa575f4b60c585c2a8dab https://conda.anaconda.org/conda-forge/osx-64/compiler-rt-14.0.6-h613da45_0.tar.bz2#b44e0625319f9933e584dc3b96f5baf7 https://conda.anaconda.org/conda-forge/osx-64/matplotlib-base-3.6.2-py311h2bf763f_0.tar.bz2#23cef32adc676da209c6c4874f29523f -https://conda.anaconda.org/conda-forge/osx-64/pyamg-4.2.3-py311h349b758_2.tar.bz2#59bc03179823f04c8647df161695e8cc -https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e -https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2#0738978569b10669bdef41c671252dd1 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 https://conda.anaconda.org/conda-forge/osx-64/clang_osx-64-14.0.6-h3113cd8_4.conda#e1828ef1597292a9ea25627fdfacb9f3 https://conda.anaconda.org/conda-forge/osx-64/matplotlib-3.6.2-py311h6eed73b_0.tar.bz2#b3db01070d46627acacf2d9d582b4643 https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 -https://conda.anaconda.org/conda-forge/osx-64/c-compiler-1.5.1-hbf74d83_0.tar.bz2#674d19e83a1d0e9abfb2c9875c5457c5 +https://conda.anaconda.org/conda-forge/osx-64/c-compiler-1.5.2-hbf74d83_0.conda#c1413ef5a20d658923e12dd3b566d8f3 https://conda.anaconda.org/conda-forge/osx-64/clangxx_osx-64-14.0.6-h6f97653_4.conda#f9f2cc37068e5f2f4332793640329fe3 https://conda.anaconda.org/conda-forge/noarch/codecov-2.1.12-pyhd8ed1ab_0.conda#0317ed52e504b93da000e8a027628775 https://conda.anaconda.org/conda-forge/osx-64/gfortran_osx-64-11.3.0-h18f7dce_0.tar.bz2#72320d23ed499315d1d1ac332b94bc66 -https://conda.anaconda.org/conda-forge/osx-64/cxx-compiler-1.5.1-hb8565cd_0.tar.bz2#6389aafc7083db9c452aa6038abef6cc +https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 +https://conda.anaconda.org/conda-forge/osx-64/cxx-compiler-1.5.2-hb8565cd_0.conda#349ae14723b98f76ea0fcb8e532b2ead https://conda.anaconda.org/conda-forge/osx-64/gfortran-11.3.0-h2c809b3_0.tar.bz2#db5338d1fb1ad08498bdc1b42277a0d5 -https://conda.anaconda.org/conda-forge/osx-64/fortran-compiler-1.5.1-haad3a49_0.tar.bz2#6cad466ef506a8100204658e072da710 -https://conda.anaconda.org/conda-forge/osx-64/compilers-1.5.1-h694c41f_0.tar.bz2#98ef60b72672abd819ae7dfc1fbdd160 +https://conda.anaconda.org/conda-forge/osx-64/scipy-1.10.0-py311h939689b_0.conda#e2671de176eb4b2fb0f7bd5071ed3233 +https://conda.anaconda.org/conda-forge/osx-64/fortran-compiler-1.5.2-haad3a49_0.conda#649a324b13eb77c6d5e98d36ea0c59f4 +https://conda.anaconda.org/conda-forge/osx-64/pyamg-4.2.3-py311h349b758_2.tar.bz2#59bc03179823f04c8647df161695e8cc +https://conda.anaconda.org/conda-forge/osx-64/compilers-1.5.2-h694c41f_0.conda#1fdd3bc173dad6e7a0439962c7764ab8 diff --git a/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock b/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock index ac190e8454e1a..ddabc40062c99 100644 --- a/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock +++ b/build_tools/azure/pylatest_conda_mkl_no_openmp_osx-64_conda.lock @@ -11,20 +11,20 @@ https://repo.anaconda.com/pkgs/main/osx-64/jpeg-9e-hca72f7f_0.conda#99b7d820514a https://repo.anaconda.com/pkgs/main/osx-64/libbrotlicommon-1.0.9-hca72f7f_7.conda#6c865b9e76fa2fad0c8ac32aa0f01f75 https://repo.anaconda.com/pkgs/main/osx-64/libcxx-14.0.6-h9765a3e_0.conda#387757bb354ae9042370452cd0fb5627 https://repo.anaconda.com/pkgs/main/osx-64/libdeflate-1.8-h9ed2024_5.conda#584dec4a4ba735d8d7841de1948b23b1 +https://repo.anaconda.com/pkgs/main/osx-64/libffi-3.4.2-hecd8cb5_6.conda#21b9e281d6c7d4c6c9bff64c7644f295 https://repo.anaconda.com/pkgs/main/osx-64/libwebp-base-1.2.4-hca72f7f_0.conda#4196bca3e5be38659521163af8918460 https://repo.anaconda.com/pkgs/main/osx-64/llvm-openmp-14.0.6-h0dcd299_0.conda#b5804d32b87dc61ca94561ade33d5f2d https://repo.anaconda.com/pkgs/main/osx-64/ncurses-6.3-hca72f7f_3.conda#dba236b91a8c0ef6ddecc56e387e92d2 -https://repo.anaconda.com/pkgs/main/noarch/tzdata-2022f-h04d1e81_0.conda#02f786cfa9e5c45d8439799445287030 -https://repo.anaconda.com/pkgs/main/osx-64/xz-5.2.6-hca72f7f_0.conda#0a0111f0dc09d5652cfe6a905f90985b +https://repo.anaconda.com/pkgs/main/noarch/tzdata-2022g-h04d1e81_0.conda#833facc4bfeebcb61babe76257e8c9e8 +https://repo.anaconda.com/pkgs/main/osx-64/xz-5.2.8-h6c40b1e_0.conda#a10644e3dbb910acd9518a4ecd36624f https://repo.anaconda.com/pkgs/main/osx-64/zlib-1.2.13-h4dc903c_0.conda#d0202dd912bfb45d3422786531717882 https://repo.anaconda.com/pkgs/main/osx-64/ccache-3.7.9-hf120daa_0.conda#a01515a32e721c51d631283f991bc8ea https://repo.anaconda.com/pkgs/main/osx-64/lerc-3.0-he9d5cce_0.conda#aec2c3dbef836849c9260f05be04f3db https://repo.anaconda.com/pkgs/main/osx-64/libbrotlidec-1.0.9-hca72f7f_7.conda#b85983951745cc666d9a1b42894210b2 https://repo.anaconda.com/pkgs/main/osx-64/libbrotlienc-1.0.9-hca72f7f_7.conda#e306d7a1599202a7c95762443f110832 -https://repo.anaconda.com/pkgs/main/osx-64/libffi-3.3-hb1e8313_2.conda#0c959d444ac65555cb836cdbd3e9a2d9 https://repo.anaconda.com/pkgs/main/osx-64/libgfortran5-11.3.0-h9dfd629_28.conda#1fa1a27ee100b1918c3021dbfa3895a3 https://repo.anaconda.com/pkgs/main/osx-64/libpng-1.6.37-ha441bb4_0.conda#d69245a20ec59d8dc534c65308607129 -https://repo.anaconda.com/pkgs/main/osx-64/lz4-c-1.9.3-h23ab428_1.conda#dc70fec3978d3189741886cc05fcb145 +https://repo.anaconda.com/pkgs/main/osx-64/lz4-c-1.9.4-hcec6c5f_0.conda#44291e9e6920cfff30caf1299f48db38 https://repo.anaconda.com/pkgs/main/osx-64/mkl-2021.4.0-hecd8cb5_637.conda#07d14ece4a852cefa17c1c156db8134e https://repo.anaconda.com/pkgs/main/osx-64/openssl-1.1.1s-hca72f7f_0.conda#180ff0f1449f1d62dc91495e5aef2902 https://repo.anaconda.com/pkgs/main/osx-64/readline-8.2-hca72f7f_0.conda#971667436260e523f6f7355fdfa238bf @@ -32,13 +32,13 @@ https://repo.anaconda.com/pkgs/main/osx-64/tk-8.6.12-h5d9f67b_0.conda#047f0af548 https://repo.anaconda.com/pkgs/main/osx-64/brotli-bin-1.0.9-hca72f7f_7.conda#110bdca1a20710820e61f7fa3047f737 https://repo.anaconda.com/pkgs/main/osx-64/freetype-2.12.1-hd8bbffd_0.conda#1f276af321375ee7fe8056843044fa76 https://repo.anaconda.com/pkgs/main/osx-64/libgfortran-5.0.0-11_3_0_hecd8cb5_28.conda#2eb13b680803f1064e53873ae0aaafb3 -https://repo.anaconda.com/pkgs/main/osx-64/sqlite-3.40.0-h880c91c_0.conda#21b5dd3ef31a6b4daaafb7763170137b +https://repo.anaconda.com/pkgs/main/osx-64/sqlite-3.40.1-h880c91c_0.conda#88f64d3c988ae3688131cb38910776c0 https://repo.anaconda.com/pkgs/main/osx-64/zstd-1.5.2-hcb37349_0.conda#d3ba225e3bc4285d8efd8cdfd7aa6112 https://repo.anaconda.com/pkgs/main/osx-64/brotli-1.0.9-hca72f7f_7.conda#68e54d12ec67591deb2ffd70348fb00f https://repo.anaconda.com/pkgs/main/osx-64/libtiff-4.4.0-h2cd0358_2.conda#3ca4a08eea7fd9cd88453d35915693a3 -https://repo.anaconda.com/pkgs/main/osx-64/python-3.9.15-hdfd78df_0.conda#35a0690ca2732a7c34425520c639dfb7 +https://repo.anaconda.com/pkgs/main/osx-64/python-3.9.15-h218abb5_2.conda#895bf75918bb226c1040edadef5413fc https://repo.anaconda.com/pkgs/main/osx-64/attrs-22.1.0-py39hecd8cb5_0.conda#d0b7738bb61bd74eedfc833533dd14d4 -https://repo.anaconda.com/pkgs/main/osx-64/certifi-2022.9.24-py39hecd8cb5_0.conda#3f381091a2c319d87532b9932c67cdea +https://repo.anaconda.com/pkgs/main/osx-64/certifi-2022.12.7-py39hecd8cb5_0.conda#92d58f42b23801c40b4fe2ee5ba93085 https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-2.0.4-pyhd3eb1b0_0.conda#e7a441d94234b2b5fafee06e25dbf076 https://repo.anaconda.com/pkgs/main/osx-64/coverage-6.2-py39hca72f7f_0.conda#55962a70ebebc8de15c4e1d745b20cdd https://repo.anaconda.com/pkgs/main/noarch/cycler-0.11.0-pyhd3eb1b0_0.conda#f5e365d2cdb66d547eb8c3ab93843aab @@ -47,46 +47,47 @@ https://repo.anaconda.com/pkgs/main/noarch/execnet-1.9.0-pyhd3eb1b0_0.conda#f895 https://repo.anaconda.com/pkgs/main/osx-64/idna-3.4-py39hecd8cb5_0.conda#60fb473352c9fe43b690d7b0b40cd47b https://repo.anaconda.com/pkgs/main/noarch/iniconfig-1.1.1-pyhd3eb1b0_0.tar.bz2#e40edff2c5708f342cef43c7f280c507 https://repo.anaconda.com/pkgs/main/osx-64/joblib-1.1.1-py39hecd8cb5_0.conda#8c96155e60c4723afd642a6cee396c26 -https://repo.anaconda.com/pkgs/main/osx-64/kiwisolver-1.4.2-py39he9d5cce_0.conda#6db2c99a6633b0cbd82faa1a36cd29d7 +https://repo.anaconda.com/pkgs/main/osx-64/kiwisolver-1.4.4-py39hcec6c5f_0.conda#2ee58ba7ba854969d0b7f7db4d07459d https://repo.anaconda.com/pkgs/main/osx-64/lcms2-2.12-hf1fd2bf_0.conda#697aba7a3308226df7a93ccfeae16ffa https://repo.anaconda.com/pkgs/main/osx-64/libwebp-1.2.4-h56c3ce4_0.conda#55aab5176f109c67c355ac018e5f7b4a https://repo.anaconda.com/pkgs/main/noarch/munkres-1.1.4-py_0.conda#148362ba07f92abab76999a680c80084 +https://repo.anaconda.com/pkgs/main/osx-64/packaging-22.0-py39hecd8cb5_0.conda#a1ac08e4d5f08fcb7240edb91639ac0e https://repo.anaconda.com/pkgs/main/osx-64/pluggy-1.0.0-py39hecd8cb5_1.conda#c5507133514846cc5f54dc4de9ba1563 https://repo.anaconda.com/pkgs/main/noarch/py-1.11.0-pyhd3eb1b0_0.conda#7205a898ed2abbf6e9b903dff6abe08e https://repo.anaconda.com/pkgs/main/noarch/pycparser-2.21-pyhd3eb1b0_0.conda#135a72ff2a31150a3a3ff0b1edd41ca9 https://repo.anaconda.com/pkgs/main/osx-64/pyparsing-3.0.9-py39hecd8cb5_0.conda#9b77837761d4351f49612991cd32127b https://repo.anaconda.com/pkgs/main/osx-64/pysocks-1.7.1-py39hecd8cb5_0.conda#4765ca1a39ea5287cbe170734ac83e37 -https://repo.anaconda.com/pkgs/main/osx-64/pytz-2022.1-py39hecd8cb5_0.conda#a4ca27633e16749c7688884f842053c8 +https://repo.anaconda.com/pkgs/main/osx-64/pytz-2022.7-py39hecd8cb5_0.conda#4df8fccffcac246293a82f7a6e89e2fd https://repo.anaconda.com/pkgs/main/noarch/six-1.16.0-pyhd3eb1b0_1.conda#34586824d411d36af2fa40e799c172d0 https://repo.anaconda.com/pkgs/main/noarch/threadpoolctl-2.2.0-pyh0d69192_0.conda#bbfdbae4934150b902f97daaf287efe2 https://repo.anaconda.com/pkgs/main/noarch/toml-0.10.2-pyhd3eb1b0_0.conda#cda05f5f6d8509529d1a2743288d197a https://repo.anaconda.com/pkgs/main/osx-64/tomli-2.0.1-py39hecd8cb5_0.conda#49318006e63c8628ce0a1e2e1433d30d https://repo.anaconda.com/pkgs/main/osx-64/tornado-6.2-py39hca72f7f_0.conda#2653da9c248d53e811364e65353c8742 -https://repo.anaconda.com/pkgs/main/osx-64/cffi-1.15.1-py39hc55c11b_0.conda#965f34484f6602adfcbe8418c2a16e17 +https://repo.anaconda.com/pkgs/main/osx-64/cffi-1.15.1-py39h6c40b1e_3.conda#c9df0a268b6168cb890a6f65e2a81c71 https://repo.anaconda.com/pkgs/main/noarch/fonttools-4.25.0-pyhd3eb1b0_0.conda#bb9c5b5a6d892fca5efe4bf0203b6a48 https://repo.anaconda.com/pkgs/main/osx-64/mkl-service-2.4.0-py39h9ed2024_0.conda#68ed4da109042256b78f9c46537bd2a3 -https://repo.anaconda.com/pkgs/main/noarch/packaging-21.3-pyhd3eb1b0_0.conda#07bbfbb961db7fa329cc42716943ea62 -https://repo.anaconda.com/pkgs/main/osx-64/pillow-9.2.0-py39hde71d04_1.conda#ecd1fdbc77659c3bf4c056e0f8e703c7 +https://repo.anaconda.com/pkgs/main/osx-64/pillow-9.3.0-py39h81888ad_1.conda#f4d55ddb76868ac9823f1e986fdfe535 +https://repo.anaconda.com/pkgs/main/osx-64/pytest-7.1.2-py39hecd8cb5_0.conda#8239bdb679b675ab8aac1bdc0756d383 https://repo.anaconda.com/pkgs/main/noarch/python-dateutil-2.8.2-pyhd3eb1b0_0.conda#211ee00320b08a1ac9fea6677649f6c9 -https://repo.anaconda.com/pkgs/main/osx-64/setuptools-65.5.0-py39hecd8cb5_0.conda#d7a09d5402d510409064000d25b7d436 +https://repo.anaconda.com/pkgs/main/osx-64/setuptools-65.6.3-py39hecd8cb5_0.conda#762fa88e92dfd5b5158cc58e7860b252 https://repo.anaconda.com/pkgs/main/osx-64/brotlipy-0.7.0-py39h9ed2024_1003.conda#a08f6f5f899aff4a07351217b36fae41 -https://repo.anaconda.com/pkgs/main/osx-64/cryptography-38.0.1-py39hf6deb26_0.conda#62e4840cdfb6d8b7656a30ece5e1ea1d +https://repo.anaconda.com/pkgs/main/osx-64/cryptography-38.0.4-py39hf6deb26_0.conda#60f85eabbcadcab133178381076a53cb https://repo.anaconda.com/pkgs/main/osx-64/numpy-base-1.22.3-py39h3b1a694_0.conda#f68019d1d839b40739b64b6feae2b436 -https://repo.anaconda.com/pkgs/main/osx-64/pytest-7.1.2-py39hecd8cb5_0.conda#8239bdb679b675ab8aac1bdc0756d383 -https://repo.anaconda.com/pkgs/main/noarch/pyopenssl-22.0.0-pyhd3eb1b0_0.conda#1dbbf9422269cd62c7094960d9b43f36 https://repo.anaconda.com/pkgs/main/noarch/pytest-cov-3.0.0-pyhd3eb1b0_0.conda#bbdaac2947f507399816d509107945c2 https://repo.anaconda.com/pkgs/main/noarch/pytest-forked-1.3.0-pyhd3eb1b0_0.tar.bz2#07970bffdc78f417d7f8f1c7e620f5c4 +https://repo.anaconda.com/pkgs/main/noarch/pyopenssl-22.0.0-pyhd3eb1b0_0.conda#1dbbf9422269cd62c7094960d9b43f36 https://repo.anaconda.com/pkgs/main/noarch/pytest-xdist-2.5.0-pyhd3eb1b0_0.conda#d15cdc4207bcf8ca920822597f1d138d -https://repo.anaconda.com/pkgs/main/osx-64/urllib3-1.26.12-py39hecd8cb5_0.conda#49f78830138d7e4b24a35b289b4bf62f +https://repo.anaconda.com/pkgs/main/osx-64/urllib3-1.26.13-py39hecd8cb5_0.conda#e70b93b82feff4e4f9331ed455d1f6dc https://repo.anaconda.com/pkgs/main/osx-64/requests-2.28.1-py39hecd8cb5_0.conda#c2a59bb72db0abd039ce447be18c139d https://repo.anaconda.com/pkgs/main/noarch/codecov-2.1.11-pyhd3eb1b0_0.conda#83a743cc928162d53d4066c43468b2c7 https://repo.anaconda.com/pkgs/main/osx-64/bottleneck-1.3.5-py39h67323c0_0.conda#312133560b81ec1a2aaf95835e90b5e9 -https://repo.anaconda.com/pkgs/main/osx-64/matplotlib-3.5.3-py39hecd8cb5_0.conda#25cf9d021c49d6ebb931743a702ad666 -https://repo.anaconda.com/pkgs/main/osx-64/matplotlib-base-3.5.3-py39hfb0c5b7_0.conda#a62605b72e89b204a0944b67b4cf5554 +https://repo.anaconda.com/pkgs/main/osx-64/contourpy-1.0.5-py39haf03e11_0.conda#e4bf1c4fc91f39170273f422f2c97481 +https://repo.anaconda.com/pkgs/main/osx-64/matplotlib-3.6.2-py39hecd8cb5_0.conda#0a51906c4a2e76edaaffac06a1b352e8 +https://repo.anaconda.com/pkgs/main/osx-64/matplotlib-base-3.6.2-py39h220de94_0.conda#3e1c1bc56bf1636b5dd01510cf511c05 https://repo.anaconda.com/pkgs/main/osx-64/mkl_fft-1.3.1-py39h4ab4a9b_0.conda#f947c9a1c65da729963b3035c219ba10 https://repo.anaconda.com/pkgs/main/osx-64/mkl_random-1.2.2-py39hb2f4e1b_0.conda#1bc33de45069ad534182ca92e616ec7e https://repo.anaconda.com/pkgs/main/osx-64/numpy-1.22.3-py39h2e5f0a9_0.conda#16892a18dae1fb1522845e4b6005b436 https://repo.anaconda.com/pkgs/main/osx-64/numexpr-2.8.4-py39he696674_0.conda#9776eb34625bf969ba017f7362ecf23f https://repo.anaconda.com/pkgs/main/osx-64/scipy-1.9.3-py39h3d31255_0.conda#c2917042394d646f4a2ca22e0b665a06 -https://repo.anaconda.com/pkgs/main/osx-64/pandas-1.5.1-py39h07fba90_0.conda#d1137f8d61981eed108f5fe0452d0848 +https://repo.anaconda.com/pkgs/main/osx-64/pandas-1.5.2-py39h07fba90_0.conda#ff5c1d08cf4022f6b58ef4f53ba768d1 https://repo.anaconda.com/pkgs/main/osx-64/pyamg-4.2.3-py39hc29d2bd_0.conda#728a52ac4cc423a4895158c08b95bedf diff --git a/build_tools/azure/pylatest_pip_openblas_pandas_environment.yml b/build_tools/azure/pylatest_pip_openblas_pandas_environment.yml index 8127d5af88b18..9cc56cc2716d3 100644 --- a/build_tools/azure/pylatest_pip_openblas_pandas_environment.yml +++ b/build_tools/azure/pylatest_pip_openblas_pandas_environment.yml @@ -6,6 +6,7 @@ channels: dependencies: - python=3.9 - ccache + - sphinx - pip - pip: - numpy @@ -22,7 +23,6 @@ dependencies: - codecov - pytest-cov - coverage - - sphinx - numpydoc - lightgbm - scikit-image diff --git a/build_tools/azure/pylatest_pip_openblas_pandas_linux-64_conda.lock b/build_tools/azure/pylatest_pip_openblas_pandas_linux-64_conda.lock index 68a5541f9f88c..fd054a025f1ee 100644 --- a/build_tools/azure/pylatest_pip_openblas_pandas_linux-64_conda.lock +++ b/build_tools/azure/pylatest_pip_openblas_pandas_linux-64_conda.lock @@ -1,88 +1,95 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: f66cd382e1555318ed0b7498301d0e9dbe2b1d509ca7c7e13c7db959069cec83 +# input_hash: c268536f64c353efd8a32b7f76ae09489ef30493354dfdfa69f5e648f908ad75 @EXPLICIT https://repo.anaconda.com/pkgs/main/linux-64/_libgcc_mutex-0.1-main.conda#c3473ff8bdb3d124ed5ff11ec380d6f9 https://repo.anaconda.com/pkgs/main/linux-64/ca-certificates-2022.10.11-h06a4308_0.conda#e9b86b388e2cf59585fefca34037b783 https://repo.anaconda.com/pkgs/main/linux-64/ld_impl_linux-64-2.38-h1181459_1.conda#68eedfd9c06f2b0e6888d8db345b7f5b -https://repo.anaconda.com/pkgs/main/noarch/tzdata-2022f-h04d1e81_0.conda#02f786cfa9e5c45d8439799445287030 +https://repo.anaconda.com/pkgs/main/noarch/tzdata-2022g-h04d1e81_0.conda#833facc4bfeebcb61babe76257e8c9e8 https://repo.anaconda.com/pkgs/main/linux-64/libgomp-11.2.0-h1234567_1.conda#b372c0eea9b60732fdae4b817a63c8cd https://repo.anaconda.com/pkgs/main/linux-64/libstdcxx-ng-11.2.0-h1234567_1.conda#57623d10a70e09e1d048c2b2b6f4e2dd https://repo.anaconda.com/pkgs/main/linux-64/_openmp_mutex-5.1-1_gnu.conda#71d281e9c2192cb3fa425655a8defb85 https://repo.anaconda.com/pkgs/main/linux-64/libgcc-ng-11.2.0-h1234567_1.conda#a87728dabf3151fb9cfa990bd2eb0464 -https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.3-he6710b0_2.conda#88a54b8f50e351c650e16f4ee781440c +https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.4.2-h6a678d5_6.conda#6d65e299b535d3b3613b6d4bce901834 https://repo.anaconda.com/pkgs/main/linux-64/ncurses-6.3-h5eee18b_3.conda#0c616f387885c1bbb57ec0bd1e779ced https://repo.anaconda.com/pkgs/main/linux-64/openssl-1.1.1s-h7f8727e_0.conda#25f9c4e2394976be98d01cccef2ce43a -https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.6-h5eee18b_0.conda#8abc704d4a473839d5351b43deb793bb +https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.8-h5eee18b_0.conda#224260858072f0071140ae18c513620d https://repo.anaconda.com/pkgs/main/linux-64/zlib-1.2.13-h5eee18b_0.conda#333e31fbfbb5057c92fa845ad6adef93 https://repo.anaconda.com/pkgs/main/linux-64/ccache-3.7.9-hfe4627d_0.conda#bef6fc681c273bb7bd0c67d1a591365e https://repo.anaconda.com/pkgs/main/linux-64/readline-8.2-h5eee18b_0.conda#be42180685cce6e6b0329201d9f48efb https://repo.anaconda.com/pkgs/main/linux-64/tk-8.6.12-h1ccaba5_0.conda#fa10ff4aa631fa4aa090a6234d7770b9 -https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.40.0-h5082296_0.conda#d1300b056e728ea61a0bf135b035e60d -https://repo.anaconda.com/pkgs/main/linux-64/python-3.9.15-haa1d7c7_0.conda#dacae2189e4ec6083804b07b44f1a342 -https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.9.24-py39h06a4308_0.conda#1e3ca01764ce78e609ab61b8067734eb +https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.40.1-h5082296_0.conda#7d44bb7460f1b1b0764d63240d7f7f81 +https://repo.anaconda.com/pkgs/main/linux-64/python-3.9.15-h7a1cb2a_2.conda#11aaa2155e45d001f854b7edb84bca39 +https://repo.anaconda.com/pkgs/main/noarch/alabaster-0.7.12-pyhd3eb1b0_0.tar.bz2#21ad3b69a5ce6c22e724e9dbb4cffa65 +https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.12.7-py39h06a4308_0.conda#b4238d910e43d09651eebe8db79b5c68 +https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-2.0.4-pyhd3eb1b0_0.conda#e7a441d94234b2b5fafee06e25dbf076 +https://repo.anaconda.com/pkgs/main/linux-64/colorama-0.4.6-py39h06a4308_0.conda#ae47f0eeea0e7780ddd4b269884b3e99 +https://repo.anaconda.com/pkgs/main/linux-64/docutils-0.18.1-py39h06a4308_3.conda#89b9d5302135916200139e107981baab +https://repo.anaconda.com/pkgs/main/linux-64/idna-3.4-py39h06a4308_0.conda#92ee6ebc3f880fe03d98f90d122d4719 +https://repo.anaconda.com/pkgs/main/linux-64/imagesize-1.4.1-py39h06a4308_0.conda#daa11cdf95b501d5cd35edcaeaaa3fdc +https://repo.anaconda.com/pkgs/main/linux-64/markupsafe-2.1.1-py39h7f8727e_0.conda#81867b86384d8b25db1141c360803b5f +https://repo.anaconda.com/pkgs/main/linux-64/packaging-22.0-py39h06a4308_0.conda#f0d5483df1e0c0221c519d557da09dec +https://repo.anaconda.com/pkgs/main/noarch/pycparser-2.21-pyhd3eb1b0_0.conda#135a72ff2a31150a3a3ff0b1edd41ca9 +https://repo.anaconda.com/pkgs/main/noarch/pygments-2.11.2-pyhd3eb1b0_0.conda#eff55c770961f459a734cf86768aac98 +https://repo.anaconda.com/pkgs/main/linux-64/pysocks-1.7.1-py39h06a4308_0.conda#0a2dc6c521fd674b11a99dea461c2d84 +https://repo.anaconda.com/pkgs/main/linux-64/pytz-2022.7-py39h06a4308_0.conda#42b322e3f6795196a42b1c3ddbb7807b +https://repo.anaconda.com/pkgs/main/noarch/snowballstemmer-2.2.0-pyhd3eb1b0_0.conda#c8c10f2cd854c0a27630760958bba60c +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-applehelp-1.0.2-pyhd3eb1b0_0.tar.bz2#ac923499f97b9a9ab7c672b27cb2a1a8 +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-devhelp-1.0.2-pyhd3eb1b0_0.tar.bz2#bc39c2b70430734b5879d6b504e3311f +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd3eb1b0_0.conda#2af558ca8b56151110c7a3639a1ea348 +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-jsmath-1.0.1-pyhd3eb1b0_0.tar.bz2#e43f8de7d6a717935ab220a0c957771d +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-qthelp-1.0.3-pyhd3eb1b0_0.tar.bz2#08d67f73f640b4d1e5e8890a324b60e3 +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd3eb1b0_0.conda#0440b84dfd478f340cf14c2d7c24f6c7 https://repo.anaconda.com/pkgs/main/noarch/wheel-0.37.1-pyhd3eb1b0_0.conda#ab85e96e26da8d5797c2458232338b86 -https://repo.anaconda.com/pkgs/main/linux-64/setuptools-65.5.0-py39h06a4308_0.conda#3af37a56c2d135aff97e1e76120e3539 -https://repo.anaconda.com/pkgs/main/linux-64/pip-22.2.2-py39h06a4308_0.conda#cb97bf53e76d609bf93b2e9dd04799d8 -# pip alabaster @ https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl#sha256=446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359 -# pip attrs @ https://files.pythonhosted.org/packages/f2/bc/d817287d1aa01878af07c19505fafd1165cd6a119e9d0821ca1d1c20312d/attrs-22.1.0-py2.py3-none-any.whl#sha256=86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c -# pip charset-normalizer @ https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl#sha256=83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f +https://repo.anaconda.com/pkgs/main/linux-64/zipp-3.11.0-py39h06a4308_0.conda#6b0ec14d6d5182748006e984590daca5 +https://repo.anaconda.com/pkgs/main/linux-64/babel-2.11.0-py39h06a4308_0.conda#57afaec3ce18928835e87fa5187ef22c +https://repo.anaconda.com/pkgs/main/linux-64/cffi-1.15.1-py39h5eee18b_3.conda#89bf9aee92a2429222630337bec3d73f +https://repo.anaconda.com/pkgs/main/linux-64/importlib-metadata-4.11.3-py39h06a4308_0.conda#3049562ec071212e501225d07d0853db +https://repo.anaconda.com/pkgs/main/linux-64/jinja2-3.1.2-py39h06a4308_0.conda#1ae40578c29a6ed9ca0cf23c89d48fa4 +https://repo.anaconda.com/pkgs/main/linux-64/setuptools-65.6.3-py39h06a4308_0.conda#c45480250c7a422ae327df494aced180 +https://repo.anaconda.com/pkgs/main/linux-64/brotlipy-0.7.0-py39h27cfd23_1003.conda#be47bcffb9e3e7495897b02589f5ad1a +https://repo.anaconda.com/pkgs/main/linux-64/cryptography-38.0.4-py39h9ce1e76_0.conda#52136f55ebc78ad10354df15ddaa581a +https://repo.anaconda.com/pkgs/main/linux-64/pip-22.3.1-py39h06a4308_0.conda#551a81c65d85d3bfd0f849fdda5bfad8 +https://repo.anaconda.com/pkgs/main/noarch/pyopenssl-22.0.0-pyhd3eb1b0_0.conda#1dbbf9422269cd62c7094960d9b43f36 +https://repo.anaconda.com/pkgs/main/linux-64/urllib3-1.26.13-py39h06a4308_0.conda#5028912afd81b82cb7f70bbb45ce873b +https://repo.anaconda.com/pkgs/main/linux-64/requests-2.28.1-py39h06a4308_0.conda#5ae2a5b6b791e0a8f5b0129b59e5e793 +https://repo.anaconda.com/pkgs/main/linux-64/sphinx-5.0.2-py39h06a4308_0.conda#8ea4d14304219bfcb4a67da8b34d76ce +# pip attrs @ https://files.pythonhosted.org/packages/fb/6e/6f83bf616d2becdf333a1640f1d463fef3150e2e926b7010cb0f81c95e88/attrs-22.2.0-py3-none-any.whl#sha256=29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836 # pip cycler @ https://files.pythonhosted.org/packages/5c/f9/695d6bedebd747e5eb0fe8fad57b72fdf25411273a39791cde838d5a8f51/cycler-0.11.0-py3-none-any.whl#sha256=3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3 -# pip cython @ https://files.pythonhosted.org/packages/c3/8f/bb0a7182dc081fbc6608e98a8184970e7d903acfc1ec58680d46f5c915ce/Cython-0.29.32-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl#sha256=f3fd44cc362eee8ae569025f070d56208908916794b6ab21e139cea56470a2b3 -# pip docutils @ https://files.pythonhosted.org/packages/93/69/e391bd51bc08ed9141ecd899a0ddb61ab6465309f1eb470905c0c8868081/docutils-0.19-py3-none-any.whl#sha256=5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc -# pip exceptiongroup @ https://files.pythonhosted.org/packages/ce/2e/9a327cc0d2d674ee2d570ee30119755af772094edba86d721dda94404d1a/exceptiongroup-1.0.4-py3-none-any.whl#sha256=542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828 +# pip cython @ https://files.pythonhosted.org/packages/87/4c/41e4fc95a31ec6747e74283e987fb9b3b7c0b3cb2cf10af65f02bd0359d4/Cython-0.29.33-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl#sha256=4f88c2dc0653eef6468848eb8022faf64115b39734f750a1c01a7ba7eb04d89f +# pip exceptiongroup @ https://files.pythonhosted.org/packages/e8/14/9c6a7e5f12294ccd6975a45e02899ed25468cd7c2c86f3d9725f387f9f5f/exceptiongroup-1.1.0-py3-none-any.whl#sha256=327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e # pip execnet @ https://files.pythonhosted.org/packages/81/c0/3072ecc23f4c5e0a1af35e3a222855cfd9c80a1a105ca67be3b6172637dd/execnet-1.9.0-py2.py3-none-any.whl#sha256=a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142 # pip fonttools @ https://files.pythonhosted.org/packages/e3/d9/e9bae85e84737e76ebbcbea13607236da0c0699baed0ae4f1151b728a608/fonttools-4.38.0-py3-none-any.whl#sha256=820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb -# pip idna @ https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl#sha256=90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 -# pip imagesize @ https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl#sha256=0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b -# pip iniconfig @ https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl#sha256=011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 +# pip iniconfig @ https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 # pip joblib @ https://files.pythonhosted.org/packages/91/d4/3b4c8e5a30604df4c7518c562d4bf0502f2fa29221459226e140cf846512/joblib-1.2.0-py3-none-any.whl#sha256=091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385 # pip kiwisolver @ https://files.pythonhosted.org/packages/a4/36/c414d75be311ce97ef7248edcc4fc05afae2998641bf6b592d43a9dee581/kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f -# pip markupsafe @ https://files.pythonhosted.org/packages/df/06/c515c5bc43b90462e753bc768e6798193c6520c9c7eb2054c7466779a9db/MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 -# pip networkx @ https://files.pythonhosted.org/packages/42/31/d2f89f1ae42718f8c8a9e440ebe38d7d5fe1e0d9eb9178ce779e365b3ab0/networkx-2.8.8-py3-none-any.whl#sha256=e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524 -# pip numpy @ https://files.pythonhosted.org/packages/4c/b9/038abd6fbd67b05b03cb1af590cfc02b7f1e5a37af7ac6a868f5093c29f5/numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=33161613d2269025873025b33e879825ec7b1d831317e68f4f2f0f84ed14c719 -# pip pillow @ https://files.pythonhosted.org/packages/2f/73/ec6b3e3f6b311cf1468eafc92a890f690a2cacac0cfd0f1bcc2b891d1334/Pillow-9.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b +# pip networkx @ https://files.pythonhosted.org/packages/11/eb/929b1a04b1778f4dd606c739c93c134306e4a31012e31e184c8308f3d985/networkx-3.0-py3-none-any.whl#sha256=58058d66b1818043527244fab9d41a51fcd7dcc271748015f3c181b8a90c8e2e +# pip numpy @ https://files.pythonhosted.org/packages/43/55/fea3342371187dea4044521c0ba82b90fb5a42fb92446be019b316dd3320/numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf +# pip pillow @ https://files.pythonhosted.org/packages/f2/cc/71b11ec996744b704637d9ef53ff924b7d208c41be1d251cca33991f6833/Pillow-9.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0884ba7b515163a1a05440a138adeb722b8a6ae2c2b33aea93ea3118dd3a899e # pip pluggy @ https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl#sha256=74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3 # pip py @ https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl#sha256=607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378 -# pip pygments @ https://files.pythonhosted.org/packages/4f/82/672cd382e5b39ab1cd422a672382f08a1fb3d08d9e0c0f3707f33a52063b/Pygments-2.13.0-py3-none-any.whl#sha256=f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42 # pip pyparsing @ https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl#sha256=5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc -# pip pytz @ https://files.pythonhosted.org/packages/85/ac/92f998fc52a70afd7f6b788142632afb27cd60c8c782d1452b7466603332/pytz-2022.6-py2.py3-none-any.whl#sha256=222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427 # pip six @ https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 -# pip snowballstemmer @ https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl#sha256=c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a -# pip sphinxcontrib-applehelp @ https://files.pythonhosted.org/packages/dc/47/86022665a9433d89a66f5911b558ddff69861766807ba685de2e324bd6ed/sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl#sha256=806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a -# pip sphinxcontrib-devhelp @ https://files.pythonhosted.org/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl#sha256=8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e -# pip sphinxcontrib-htmlhelp @ https://files.pythonhosted.org/packages/63/40/c854ef09500e25f6432dcbad0f37df87fd7046d376272292d8654cc71c95/sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl#sha256=d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07 -# pip sphinxcontrib-jsmath @ https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl#sha256=2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178 -# pip sphinxcontrib-qthelp @ https://files.pythonhosted.org/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl#sha256=bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6 -# pip sphinxcontrib-serializinghtml @ https://files.pythonhosted.org/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl#sha256=352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd # pip threadpoolctl @ https://files.pythonhosted.org/packages/61/cf/6e354304bcb9c6413c4e02a747b600061c21d38ba51e7e544ac7bc66aecc/threadpoolctl-3.1.0-py3-none-any.whl#sha256=8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b # pip tomli @ https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl#sha256=939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc # pip typing-extensions @ https://files.pythonhosted.org/packages/0b/8e/f1a0a5a76cfef77e1eb6004cb49e5f8d72634da638420b9ea492ce8305e8/typing_extensions-4.4.0-py3-none-any.whl#sha256=16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e -# pip urllib3 @ https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl#sha256=b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 -# pip zipp @ https://files.pythonhosted.org/packages/40/8a/d63273ed0fa4a3d06f77e7b043f6577d8894e95515b0c187c52e2c0efabb/zipp-3.10.0-py3-none-any.whl#sha256=4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 -# pip babel @ https://files.pythonhosted.org/packages/92/f7/86301a69926e11cd52f73396d169554d09b20b1723a040c2dcc1559ef588/Babel-2.11.0-py3-none-any.whl#sha256=1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe # pip contourpy @ https://files.pythonhosted.org/packages/2f/b2/3787a2993307d8305d693594b2e0f3a0fc95b4e064ad4582324487fc848a/contourpy-1.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2 -# pip coverage @ https://files.pythonhosted.org/packages/6b/f2/919f0fdc93d3991ca074894402074d847be8ac1e1d78e7e9e1c371b69a6f/coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5 -# pip imageio @ https://files.pythonhosted.org/packages/33/4d/d31ab40bb761fb381c7514e6070c6e1643c44f83a2a48a83e4066227737f/imageio-2.22.4-py3-none-any.whl#sha256=bb173f8af27e4921f59539c4d45068fcedb892e58261fce8253f31c9a0ff9ccf -# pip importlib-metadata @ https://files.pythonhosted.org/packages/b5/64/ef29a63cf08f047bb7fb22ab0f1f774b87eed0bb46d067a5a524798a4af8/importlib_metadata-5.0.0-py3-none-any.whl#sha256=ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 -# pip jinja2 @ https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl#sha256=6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 -# pip packaging @ https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl#sha256=ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 +# pip coverage @ https://files.pythonhosted.org/packages/9b/38/b407288f8142c3b14c3f36a145d1380e5750781b22997eb1b659f194b093/coverage-7.0.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=13250b1f0bd023e0c9f11838bdeb60214dd5b6aaf8e8d2f110c7e232a1bff83b +# pip imageio @ https://files.pythonhosted.org/packages/11/4a/3e6de99afd3227c68b384f5dd420fe8c2d95f9ad765826a3ce75c5f22dc7/imageio-2.24.0-py3-none-any.whl#sha256=c4ccd0293a1aeb566c7fa04260d51897be064b8fb287a77548ce42050ec06d7a +# pip numpydoc @ https://files.pythonhosted.org/packages/c4/81/ad9b8837442ff451eca82515b41ac425f87acff7e2fc016fd1bda13fc01a/numpydoc-1.5.0-py3-none-any.whl#sha256=c997759fb6fc32662801cece76491eedbc0ec619b514932ffd2b270ae89c07f9 +# pip pytest @ https://files.pythonhosted.org/packages/67/68/a5eb36c3a8540594b6035e6cdae40c1ef1b6a2bfacbecc3d1a544583c078/pytest-7.2.0-py3-none-any.whl#sha256=892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71 # pip python-dateutil @ https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl#sha256=961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 # pip pywavelets @ https://files.pythonhosted.org/packages/5a/98/4549479a32972bdfdd5e75e168219e97f4dfaee535a8308efef7291e8398/PyWavelets-1.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=71ab30f51ee4470741bb55fc6b197b4a2b612232e30f6ac069106f0156342356 -# pip requests @ https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl#sha256=8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 -# pip scipy @ https://files.pythonhosted.org/packages/bb/b7/380c9e4cd71263f03d16f8a92c0e44c9bdef38777e1a7dde1f47ba996bac/scipy-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0 +# pip scipy @ https://files.pythonhosted.org/packages/30/71/bb9e677e30c52f938ff71ba528915c579e794ac0f59804e06bfed3596dff/scipy-1.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a +# pip setuptools-scm @ https://files.pythonhosted.org/packages/1d/66/8f42c941be949ef2b22fe905d850c794e7c170a526023612aad5f3a121ad/setuptools_scm-7.1.0-py3-none-any.whl#sha256=73988b6d848709e2af142aa48c986ea29592bbcfca5375678064708205253d8e # pip tifffile @ https://files.pythonhosted.org/packages/d2/cb/1ecf9f39113a7ad0529a0441a16982791e7b37a4efdba2f89a687fdf15c9/tifffile-2022.10.10-py3-none-any.whl#sha256=87f3aee8a0d06b74655269a105de75c1958a24653e1930d523eb516100043503 # pip codecov @ https://files.pythonhosted.org/packages/dc/e2/964d0881eff5a67bf5ddaea79a13c7b34a74bc4efe917b368830b475a0b9/codecov-2.1.12-py2.py3-none-any.whl#sha256=585dc217dc3d8185198ceb402f85d5cb5dbfa0c5f350a5abcdf9e347776a5b47 +# pip matplotlib @ https://files.pythonhosted.org/packages/d8/c0/96da5f5532ac500860a52f87a933cdea66436f1c436a76e80015ee2409c4/matplotlib-3.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33 # pip pandas @ https://files.pythonhosted.org/packages/5e/ed/5c9cdaa5d48c7194bef4335eab3cdc2f8afa868a5546027e018ea9deb4c3/pandas-1.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=344021ed3e639e017b452aa8f5f6bf38a8806f5852e217a7594417fb9bbfa00e # pip pyamg @ https://files.pythonhosted.org/packages/8e/08/d512b6e34d502152723b5a4ad9d962a6141dfe83cd8bcd01af4cb6e84f28/pyamg-4.2.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl#sha256=18af99d2551df07951c35cf270dc76703f8c5d30b16ea8e61657fda098f57dd7 -# pip pytest @ https://files.pythonhosted.org/packages/67/68/a5eb36c3a8540594b6035e6cdae40c1ef1b6a2bfacbecc3d1a544583c078/pytest-7.2.0-py3-none-any.whl#sha256=892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71 -# pip scikit-image @ https://files.pythonhosted.org/packages/0f/29/d157cd648b87212e498189c183a32f0f48e24fe22e9673dacd97594f39fa/scikit_image-0.19.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=ff3b1025356508d41f4fe48528e509d95f9e4015e90cf158cd58c56dc63e0ac5 -# pip scikit-learn @ https://files.pythonhosted.org/packages/fa/74/78f4c6ae97ccd9cd9bac5ac8999af7c1f21a438edca5c5b381394568831e/scikit_learn-1.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=f5d4231af7199531e77da1b78a4cc6b3d960a00b1ec672578ac818aae2b9c35d -# pip setuptools-scm @ https://files.pythonhosted.org/packages/01/ed/75a20e7b075e8ecb1f84e8debf833917905d8790b78008915bd68dddd5c4/setuptools_scm-7.0.5-py3-none-any.whl#sha256=7930f720905e03ccd1e1d821db521bff7ec2ac9cf0ceb6552dd73d24a45d3b02 -# pip sphinx @ https://files.pythonhosted.org/packages/67/a7/01dd6fd9653c056258d65032aa09a615b5d7b07dd840845a9f41a8860fbc/sphinx-5.3.0-py3-none-any.whl#sha256=060ca5c9f7ba57a08a1219e547b269fadf125ae25b06b9fa7f66768efb652d6d -# pip lightgbm @ https://files.pythonhosted.org/packages/19/b7/a880bb0922df5413909d1d6d7831b1e93622f113c7889f58a775a9c79ce4/lightgbm-3.3.3-py3-none-manylinux1_x86_64.whl#sha256=389edda68b7f24a1755a6af4dad06e16236e374e9de64253a105b12982b153e2 -# pip matplotlib @ https://files.pythonhosted.org/packages/d8/c0/96da5f5532ac500860a52f87a933cdea66436f1c436a76e80015ee2409c4/matplotlib-3.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33 -# pip numpydoc @ https://files.pythonhosted.org/packages/c4/81/ad9b8837442ff451eca82515b41ac425f87acff7e2fc016fd1bda13fc01a/numpydoc-1.5.0-py3-none-any.whl#sha256=c997759fb6fc32662801cece76491eedbc0ec619b514932ffd2b270ae89c07f9 # pip pytest-cov @ https://files.pythonhosted.org/packages/fe/1f/9ec0ddd33bd2b37d6ec50bb39155bca4fe7085fa78b3b434c05459a860e3/pytest_cov-4.0.0-py3-none-any.whl#sha256=2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b # pip pytest-forked @ https://files.pythonhosted.org/packages/0c/36/c56ef2aea73912190cdbcc39aaa860db8c07c1a5ce8566994ec9425453db/pytest_forked-1.4.0-py3-none-any.whl#sha256=bbbb6717efc886b9d64537b41fb1497cfaf3c9601276be8da2cccfea5a3c8ad8 +# pip scikit-image @ https://files.pythonhosted.org/packages/0f/29/d157cd648b87212e498189c183a32f0f48e24fe22e9673dacd97594f39fa/scikit_image-0.19.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=ff3b1025356508d41f4fe48528e509d95f9e4015e90cf158cd58c56dc63e0ac5 +# pip scikit-learn @ https://files.pythonhosted.org/packages/83/b5/0436307cb4f91ba280c74746fde7c89bed7a87703a2bf6e21791f56ce6de/scikit_learn-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=de897720173b26842e21bed54362f5294e282422116b61cd931d4f5d870b9855 +# pip lightgbm @ https://files.pythonhosted.org/packages/1f/8f/cb077c8cdb54848ee43d4f4cff927ce4812878d01e677583f3f63c575b2c/lightgbm-3.3.4-py3-none-manylinux1_x86_64.whl#sha256=bf79910a75ba6260cdefa3ddfe030707928ba2a0ffb204c0b6ab31f56fc27ebd # pip pytest-xdist @ https://files.pythonhosted.org/packages/21/08/b1945d4b4986eb1aa10cf84efc5293bba39da80a2f95db3573dd90678408/pytest_xdist-2.5.0-py3-none-any.whl#sha256=6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65 diff --git a/build_tools/azure/pylatest_pip_scipy_dev_environment.yml b/build_tools/azure/pylatest_pip_scipy_dev_environment.yml index 31eb7117d21a2..4a887eb4d3dc7 100644 --- a/build_tools/azure/pylatest_pip_scipy_dev_environment.yml +++ b/build_tools/azure/pylatest_pip_scipy_dev_environment.yml @@ -6,6 +6,7 @@ channels: dependencies: - python - ccache + - sphinx - pip - pip: - threadpoolctl @@ -15,6 +16,5 @@ dependencies: - pytest-cov - coverage - pooch - - sphinx - numpydoc - python-dateutil diff --git a/build_tools/azure/pylatest_pip_scipy_dev_linux-64_conda.lock b/build_tools/azure/pylatest_pip_scipy_dev_linux-64_conda.lock index 462b0360dc4b6..c5bf37303ecff 100644 --- a/build_tools/azure/pylatest_pip_scipy_dev_linux-64_conda.lock +++ b/build_tools/azure/pylatest_pip_scipy_dev_linux-64_conda.lock @@ -1,69 +1,75 @@ # Generated by conda-lock. # platform: linux-64 -# input_hash: f0170b6948e8a0368478b41b017d43e0009cabf81b15556aa9433c9359c3f52c +# input_hash: 401344e88dad2c8fde3bee9593788afe08d47c9714c6bb772ee8cc2d1cdcc03e @EXPLICIT https://repo.anaconda.com/pkgs/main/linux-64/_libgcc_mutex-0.1-main.conda#c3473ff8bdb3d124ed5ff11ec380d6f9 https://repo.anaconda.com/pkgs/main/linux-64/ca-certificates-2022.10.11-h06a4308_0.conda#e9b86b388e2cf59585fefca34037b783 https://repo.anaconda.com/pkgs/main/linux-64/ld_impl_linux-64-2.38-h1181459_1.conda#68eedfd9c06f2b0e6888d8db345b7f5b -https://repo.anaconda.com/pkgs/main/noarch/tzdata-2022f-h04d1e81_0.conda#02f786cfa9e5c45d8439799445287030 +https://repo.anaconda.com/pkgs/main/noarch/tzdata-2022g-h04d1e81_0.conda#833facc4bfeebcb61babe76257e8c9e8 https://repo.anaconda.com/pkgs/main/linux-64/libgomp-11.2.0-h1234567_1.conda#b372c0eea9b60732fdae4b817a63c8cd https://repo.anaconda.com/pkgs/main/linux-64/libstdcxx-ng-11.2.0-h1234567_1.conda#57623d10a70e09e1d048c2b2b6f4e2dd https://repo.anaconda.com/pkgs/main/linux-64/_openmp_mutex-5.1-1_gnu.conda#71d281e9c2192cb3fa425655a8defb85 https://repo.anaconda.com/pkgs/main/linux-64/libgcc-ng-11.2.0-h1234567_1.conda#a87728dabf3151fb9cfa990bd2eb0464 https://repo.anaconda.com/pkgs/main/linux-64/bzip2-1.0.8-h7b6447c_0.conda#9303f4af7c004e069bae22bde8d800ee -https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.3-he6710b0_2.conda#88a54b8f50e351c650e16f4ee781440c +https://repo.anaconda.com/pkgs/main/linux-64/libffi-3.4.2-h6a678d5_6.conda#6d65e299b535d3b3613b6d4bce901834 https://repo.anaconda.com/pkgs/main/linux-64/libuuid-1.41.5-h5eee18b_0.conda#4a6a2354414c9080327274aa514e5299 https://repo.anaconda.com/pkgs/main/linux-64/ncurses-6.3-h5eee18b_3.conda#0c616f387885c1bbb57ec0bd1e779ced https://repo.anaconda.com/pkgs/main/linux-64/openssl-1.1.1s-h7f8727e_0.conda#25f9c4e2394976be98d01cccef2ce43a -https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.6-h5eee18b_0.conda#8abc704d4a473839d5351b43deb793bb +https://repo.anaconda.com/pkgs/main/linux-64/xz-5.2.8-h5eee18b_0.conda#224260858072f0071140ae18c513620d https://repo.anaconda.com/pkgs/main/linux-64/zlib-1.2.13-h5eee18b_0.conda#333e31fbfbb5057c92fa845ad6adef93 https://repo.anaconda.com/pkgs/main/linux-64/ccache-3.7.9-hfe4627d_0.conda#bef6fc681c273bb7bd0c67d1a591365e https://repo.anaconda.com/pkgs/main/linux-64/readline-8.2-h5eee18b_0.conda#be42180685cce6e6b0329201d9f48efb https://repo.anaconda.com/pkgs/main/linux-64/tk-8.6.12-h1ccaba5_0.conda#fa10ff4aa631fa4aa090a6234d7770b9 -https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.40.0-h5082296_0.conda#d1300b056e728ea61a0bf135b035e60d -https://repo.anaconda.com/pkgs/main/linux-64/python-3.10.8-haa1d7c7_0.conda#f94e0ff0addc80d8746e04c6d9367012 -https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.9.24-py310h06a4308_0.conda#20f896f4142bbcf3f4e932082c40ee43 +https://repo.anaconda.com/pkgs/main/linux-64/sqlite-3.40.1-h5082296_0.conda#7d44bb7460f1b1b0764d63240d7f7f81 +https://repo.anaconda.com/pkgs/main/linux-64/python-3.10.8-h7a1cb2a_1.conda#c50aebbb632aea22b13bd654dfe80a5b +https://repo.anaconda.com/pkgs/main/noarch/alabaster-0.7.12-pyhd3eb1b0_0.tar.bz2#21ad3b69a5ce6c22e724e9dbb4cffa65 +https://repo.anaconda.com/pkgs/main/linux-64/certifi-2022.12.7-py310h06a4308_0.conda#1f28faeb97a361c9998090edc4e7d729 +https://repo.anaconda.com/pkgs/main/noarch/charset-normalizer-2.0.4-pyhd3eb1b0_0.conda#e7a441d94234b2b5fafee06e25dbf076 +https://repo.anaconda.com/pkgs/main/linux-64/colorama-0.4.6-py310h06a4308_0.conda#7af8aba349d231595e84a92b6eede917 +https://repo.anaconda.com/pkgs/main/linux-64/docutils-0.18.1-py310h06a4308_3.conda#5613973eae6fa1c63272b3aee8999580 +https://repo.anaconda.com/pkgs/main/linux-64/idna-3.4-py310h06a4308_0.conda#7f4dba8f7c37983e0d56fad719c94ba3 +https://repo.anaconda.com/pkgs/main/linux-64/imagesize-1.4.1-py310h06a4308_0.conda#31935cd380a5bd6e42694f23b3775a0a +https://repo.anaconda.com/pkgs/main/linux-64/markupsafe-2.1.1-py310h7f8727e_0.conda#01b266ef21f9c040fef79461e4d0bd41 +https://repo.anaconda.com/pkgs/main/linux-64/packaging-22.0-py310h06a4308_0.conda#def74f82ff8818339ec8d80cdc836374 +https://repo.anaconda.com/pkgs/main/noarch/pycparser-2.21-pyhd3eb1b0_0.conda#135a72ff2a31150a3a3ff0b1edd41ca9 +https://repo.anaconda.com/pkgs/main/noarch/pygments-2.11.2-pyhd3eb1b0_0.conda#eff55c770961f459a734cf86768aac98 +https://repo.anaconda.com/pkgs/main/linux-64/pysocks-1.7.1-py310h06a4308_0.conda#b0753810caadcd4a550c833f87fb3866 +https://repo.anaconda.com/pkgs/main/linux-64/pytz-2022.7-py310h06a4308_0.conda#e9fa82907692334494d14d7751ca0190 +https://repo.anaconda.com/pkgs/main/noarch/snowballstemmer-2.2.0-pyhd3eb1b0_0.conda#c8c10f2cd854c0a27630760958bba60c +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-applehelp-1.0.2-pyhd3eb1b0_0.tar.bz2#ac923499f97b9a9ab7c672b27cb2a1a8 +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-devhelp-1.0.2-pyhd3eb1b0_0.tar.bz2#bc39c2b70430734b5879d6b504e3311f +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-htmlhelp-2.0.0-pyhd3eb1b0_0.conda#2af558ca8b56151110c7a3639a1ea348 +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-jsmath-1.0.1-pyhd3eb1b0_0.tar.bz2#e43f8de7d6a717935ab220a0c957771d +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-qthelp-1.0.3-pyhd3eb1b0_0.tar.bz2#08d67f73f640b4d1e5e8890a324b60e3 +https://repo.anaconda.com/pkgs/main/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd3eb1b0_0.conda#0440b84dfd478f340cf14c2d7c24f6c7 https://repo.anaconda.com/pkgs/main/noarch/wheel-0.37.1-pyhd3eb1b0_0.conda#ab85e96e26da8d5797c2458232338b86 -https://repo.anaconda.com/pkgs/main/linux-64/setuptools-65.5.0-py310h06a4308_0.conda#776ce9588114e5a9e2b7298bd538c231 -https://repo.anaconda.com/pkgs/main/linux-64/pip-22.2.2-py310h06a4308_0.conda#b446157ab55432767f85b69b135dc452 -# pip alabaster @ https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl#sha256=446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359 +https://repo.anaconda.com/pkgs/main/linux-64/babel-2.11.0-py310h06a4308_0.conda#1eff25d9f192342c01d960c6bae79c32 +https://repo.anaconda.com/pkgs/main/linux-64/cffi-1.15.1-py310h5eee18b_3.conda#d65505a7028c5cb1d6a078fa688be2be +https://repo.anaconda.com/pkgs/main/linux-64/jinja2-3.1.2-py310h06a4308_0.conda#f22cc11648fc31b2cebaafed2dd8d5ec +https://repo.anaconda.com/pkgs/main/linux-64/setuptools-65.6.3-py310h06a4308_0.conda#d8331a85881df5712194edf67638cf08 +https://repo.anaconda.com/pkgs/main/linux-64/brotlipy-0.7.0-py310h7f8727e_1002.conda#a8dfa5aefcc49d5e78000b16d2b7714e +https://repo.anaconda.com/pkgs/main/linux-64/cryptography-38.0.4-py310h9ce1e76_0.conda#f75cc72c0e3460f6959f68171721c74f +https://repo.anaconda.com/pkgs/main/linux-64/pip-22.3.1-py310h06a4308_0.conda#3e3d6059e30595fba64fccb77f9044f0 +https://repo.anaconda.com/pkgs/main/noarch/pyopenssl-22.0.0-pyhd3eb1b0_0.conda#1dbbf9422269cd62c7094960d9b43f36 +https://repo.anaconda.com/pkgs/main/linux-64/urllib3-1.26.13-py310h06a4308_0.conda#01a21b6deb69cf39894c174790c3264f +https://repo.anaconda.com/pkgs/main/linux-64/requests-2.28.1-py310h06a4308_0.conda#40bbc3476dde7f941c78c2b10fd73166 +https://repo.anaconda.com/pkgs/main/linux-64/sphinx-5.0.2-py310h06a4308_0.conda#9636e58b351ac5c4cc8367bcc0c29321 # pip appdirs @ https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl#sha256=a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 -# pip attrs @ https://files.pythonhosted.org/packages/f2/bc/d817287d1aa01878af07c19505fafd1165cd6a119e9d0821ca1d1c20312d/attrs-22.1.0-py2.py3-none-any.whl#sha256=86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c -# pip charset-normalizer @ https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl#sha256=83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f -# pip docutils @ https://files.pythonhosted.org/packages/93/69/e391bd51bc08ed9141ecd899a0ddb61ab6465309f1eb470905c0c8868081/docutils-0.19-py3-none-any.whl#sha256=5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc -# pip exceptiongroup @ https://files.pythonhosted.org/packages/ce/2e/9a327cc0d2d674ee2d570ee30119755af772094edba86d721dda94404d1a/exceptiongroup-1.0.4-py3-none-any.whl#sha256=542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828 +# pip attrs @ https://files.pythonhosted.org/packages/fb/6e/6f83bf616d2becdf333a1640f1d463fef3150e2e926b7010cb0f81c95e88/attrs-22.2.0-py3-none-any.whl#sha256=29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836 +# pip exceptiongroup @ https://files.pythonhosted.org/packages/e8/14/9c6a7e5f12294ccd6975a45e02899ed25468cd7c2c86f3d9725f387f9f5f/exceptiongroup-1.1.0-py3-none-any.whl#sha256=327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e # pip execnet @ https://files.pythonhosted.org/packages/81/c0/3072ecc23f4c5e0a1af35e3a222855cfd9c80a1a105ca67be3b6172637dd/execnet-1.9.0-py2.py3-none-any.whl#sha256=a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142 -# pip idna @ https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl#sha256=90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 -# pip imagesize @ https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl#sha256=0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b -# pip iniconfig @ https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl#sha256=011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 -# pip markupsafe @ https://files.pythonhosted.org/packages/9e/82/2e089c6f34e77c073aa5a67040d368aac0dfb9b8ccbb46d381452c26fc33/MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 +# pip iniconfig @ https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl#sha256=b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 # pip pluggy @ https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl#sha256=74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3 # pip py @ https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl#sha256=607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378 -# pip pygments @ https://files.pythonhosted.org/packages/4f/82/672cd382e5b39ab1cd422a672382f08a1fb3d08d9e0c0f3707f33a52063b/Pygments-2.13.0-py3-none-any.whl#sha256=f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42 -# pip pyparsing @ https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl#sha256=5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc -# pip pytz @ https://files.pythonhosted.org/packages/85/ac/92f998fc52a70afd7f6b788142632afb27cd60c8c782d1452b7466603332/pytz-2022.6-py2.py3-none-any.whl#sha256=222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427 # pip six @ https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 -# pip snowballstemmer @ https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl#sha256=c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a -# pip sphinxcontrib-applehelp @ https://files.pythonhosted.org/packages/dc/47/86022665a9433d89a66f5911b558ddff69861766807ba685de2e324bd6ed/sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl#sha256=806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a -# pip sphinxcontrib-devhelp @ https://files.pythonhosted.org/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl#sha256=8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e -# pip sphinxcontrib-htmlhelp @ https://files.pythonhosted.org/packages/63/40/c854ef09500e25f6432dcbad0f37df87fd7046d376272292d8654cc71c95/sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl#sha256=d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07 -# pip sphinxcontrib-jsmath @ https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl#sha256=2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178 -# pip sphinxcontrib-qthelp @ https://files.pythonhosted.org/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl#sha256=bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6 -# pip sphinxcontrib-serializinghtml @ https://files.pythonhosted.org/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl#sha256=352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd # pip threadpoolctl @ https://files.pythonhosted.org/packages/61/cf/6e354304bcb9c6413c4e02a747b600061c21d38ba51e7e544ac7bc66aecc/threadpoolctl-3.1.0-py3-none-any.whl#sha256=8b99adda265feb6773280df41eece7b2e6561b772d21ffd52e372f999024907b # pip tomli @ https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl#sha256=939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc -# pip urllib3 @ https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl#sha256=b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 -# pip babel @ https://files.pythonhosted.org/packages/92/f7/86301a69926e11cd52f73396d169554d09b20b1723a040c2dcc1559ef588/Babel-2.11.0-py3-none-any.whl#sha256=1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe -# pip coverage @ https://files.pythonhosted.org/packages/3c/7d/d5211ea782b193ab8064b06dc0cc042cf1a4ca9c93a530071459172c550f/coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0 -# pip jinja2 @ https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl#sha256=6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 -# pip packaging @ https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl#sha256=ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 -# pip python-dateutil @ https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl#sha256=961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 -# pip requests @ https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl#sha256=8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 -# pip codecov @ https://files.pythonhosted.org/packages/dc/e2/964d0881eff5a67bf5ddaea79a13c7b34a74bc4efe917b368830b475a0b9/codecov-2.1.12-py2.py3-none-any.whl#sha256=585dc217dc3d8185198ceb402f85d5cb5dbfa0c5f350a5abcdf9e347776a5b47 +# pip coverage @ https://files.pythonhosted.org/packages/01/01/8d17427fbeb0ee132111c543bfeea5ab403d6869812cf6085adc18debecf/coverage-7.0.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=a9fed35ca8c6e946e877893bbac022e8563b94404a605af1d1e6accc7eb73289 +# pip numpydoc @ https://files.pythonhosted.org/packages/c4/81/ad9b8837442ff451eca82515b41ac425f87acff7e2fc016fd1bda13fc01a/numpydoc-1.5.0-py3-none-any.whl#sha256=c997759fb6fc32662801cece76491eedbc0ec619b514932ffd2b270ae89c07f9 # pip pooch @ https://files.pythonhosted.org/packages/8d/64/8e1bfeda3ba0f267b2d9a918e8ca51db8652d0e1a3412a5b3dbce85d90b6/pooch-1.6.0-py3-none-any.whl#sha256=3bf0e20027096836b8dbce0152dbb785a269abeb621618eb4bdd275ff1e23c9c # pip pytest @ https://files.pythonhosted.org/packages/67/68/a5eb36c3a8540594b6035e6cdae40c1ef1b6a2bfacbecc3d1a544583c078/pytest-7.2.0-py3-none-any.whl#sha256=892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71 -# pip sphinx @ https://files.pythonhosted.org/packages/67/a7/01dd6fd9653c056258d65032aa09a615b5d7b07dd840845a9f41a8860fbc/sphinx-5.3.0-py3-none-any.whl#sha256=060ca5c9f7ba57a08a1219e547b269fadf125ae25b06b9fa7f66768efb652d6d -# pip numpydoc @ https://files.pythonhosted.org/packages/c4/81/ad9b8837442ff451eca82515b41ac425f87acff7e2fc016fd1bda13fc01a/numpydoc-1.5.0-py3-none-any.whl#sha256=c997759fb6fc32662801cece76491eedbc0ec619b514932ffd2b270ae89c07f9 +# pip python-dateutil @ https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl#sha256=961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 +# pip codecov @ https://files.pythonhosted.org/packages/dc/e2/964d0881eff5a67bf5ddaea79a13c7b34a74bc4efe917b368830b475a0b9/codecov-2.1.12-py2.py3-none-any.whl#sha256=585dc217dc3d8185198ceb402f85d5cb5dbfa0c5f350a5abcdf9e347776a5b47 # pip pytest-cov @ https://files.pythonhosted.org/packages/fe/1f/9ec0ddd33bd2b37d6ec50bb39155bca4fe7085fa78b3b434c05459a860e3/pytest_cov-4.0.0-py3-none-any.whl#sha256=2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b # pip pytest-forked @ https://files.pythonhosted.org/packages/0c/36/c56ef2aea73912190cdbcc39aaa860db8c07c1a5ce8566994ec9425453db/pytest_forked-1.4.0-py3-none-any.whl#sha256=bbbb6717efc886b9d64537b41fb1497cfaf3c9601276be8da2cccfea5a3c8ad8 # pip pytest-xdist @ https://files.pythonhosted.org/packages/21/08/b1945d4b4986eb1aa10cf84efc5293bba39da80a2f95db3573dd90678408/pytest_xdist-2.5.0-py3-none-any.whl#sha256=6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65 diff --git a/build_tools/azure/pypy3_linux-64_conda.lock b/build_tools/azure/pypy3_linux-64_conda.lock index 5c7eec061cdb7..4a0bbd39afd93 100644 --- a/build_tools/azure/pypy3_linux-64_conda.lock +++ b/build_tools/azure/pypy3_linux-64_conda.lock @@ -3,11 +3,11 @@ # input_hash: 42c6166c936ee35159a6d1b5d7b6a9b30df5242f836e02d76e238e2d0f1faa43 @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2#41e4e87062433e283696cf384f952ef6 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.2.0-h337968e_19.tar.bz2#164b4b1acaedc47ee7e658ae6b308ca3 https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2#1030b1f38c129f2634eae026f704fe60 https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_pypy39_pp73.conda#6f23be0f8f1e4871998437b188425ea3 -https://conda.anaconda.org/conda-forge/noarch/tzdata-2022f-h191b570_0.tar.bz2#e366350e2343a798e29833286abe2560 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8 https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_19.tar.bz2#cd7a806282c16e1f2d39a7e80d3a3e0d https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_kmp_llvm.tar.bz2#562b26ba2e19059551a811e72ab7f793 https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2#e4c94f80aef025c17ab0828cd85ef535 @@ -19,11 +19,12 @@ https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.0.9-h166bdaf_8 https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.bz2#fc84a0446e4e4fb882e78d786cfb9734 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 https://conda.anaconda.org/conda-forge/linux-64/libhiredis-1.0.2-h2cc385e_0.tar.bz2#b34907d3a81a3cd8095ee83d174c074a +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2#b4f717df2d377410b462328bf0e8fb7d https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.21-pthreads_h78a6416_3.tar.bz2#8c5963a49b6035c40646a763293fbb35 https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.4-h166bdaf_0.tar.bz2#ac2ccf7323d21f2994e4d1f5da664f37 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h166bdaf_0.tar.bz2#d1ad1824c71e67dea42f07e06cd177dc +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_1.conda#7adaac6ff98219bcb99b45e408b80f4e https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2#be93aabceefa2fac576e971aef407908 @@ -34,7 +35,7 @@ https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.0.9-h166bdaf_8.ta https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1004.tar.bz2#b3653fdc58d03face9724f602218a904 -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.5-he0ac6c6_0.tar.bz2#5c4783b468153a1d8f33874c5bb55864 +https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.6-he0ac6c6_0.conda#6b80b7135d057de371c7284c8471b044 https://conda.anaconda.org/conda-forge/linux-64/openblas-0.3.21-pthreads_h320a7e8_3.tar.bz2#29155b9196b9d78022f11d86733e25a7 https://conda.anaconda.org/conda-forge/linux-64/readline-8.1.2-h0f457ee_0.tar.bz2#db2ebbe2943aae81ed051a6a9af8e0fa https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 @@ -42,37 +43,38 @@ https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-h166bdaf_4.tar.bz2#4 https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2#adcf0be7897e73e312bd24353b613f74 https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.0.9-h166bdaf_8.tar.bz2#e5613f2bc717e9945840ff474419b8e4 https://conda.anaconda.org/conda-forge/linux-64/ccache-4.7.3-h2599c5e_0.tar.bz2#4feea9466084c6948bd59539f1c0bb72 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2#4e54cbfc47b8c74c2ecc1e7730d8edce +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda#e1232042de76d24539a436d37597eb06 https://conda.anaconda.org/conda-forge/linux-64/gdbm-1.18-h0a1914f_2.tar.bz2#b77bc399b07a19c00fe12fdc95ee0297 https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_openblas.tar.bz2#20bae26d0a1db73f758fc3754cab4719 https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-16_linux64_openblas.tar.bz2#955d993f41f9354bf753d29864ea20ad -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2#901791f0ec7cddc8714e76e273013a91 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h82bc61c_0.conda#a01611c54334d783847879ee40109657 https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2#bb11803129cbbb53ed56f9506ff74145 https://conda.anaconda.org/conda-forge/linux-64/brotli-1.0.9-h166bdaf_8.tar.bz2#2ff08978892a3e8b954397c461f18418 -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-h6ed2654_0.tar.bz2#dcc588839de1445d90995a0a2c4f3a39 +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda#c2566c2ea5f153ddd6bf4acaf7547d97 https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.9.0-16_linux64_openblas.tar.bz2#823ceb5567e1a595deb643fcd17aed5a -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2#a11b4df9271a8d7917686725aa04c8f2 -https://conda.anaconda.org/conda-forge/linux-64/pypy3.9-7.3.9-hd671c94_6.tar.bz2#5e87580e0dbd1a1a58b59d920b778537 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda#5ce6a42505c6e9e6151c54c3ec8d68ea +https://conda.anaconda.org/conda-forge/linux-64/pypy3.9-7.3.9-hd671c94_7.conda#c15f1c977d796bc23dfd0d9428b2733a https://conda.anaconda.org/conda-forge/linux-64/blas-devel-3.9.0-16_linux64_openblas.tar.bz2#519562d6176dab9c2ab9a8336a14c8e7 https://conda.anaconda.org/conda-forge/linux-64/python-3.9.12-0_73_pypy.tar.bz2#12c038a66ca998f24c381de990e942b6 -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/linux-64/blas-2.116-openblas.tar.bz2#02f34bcf0aceb6fae4c4d1ecb71c852a -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.32-py39h0e26352_1.tar.bz2#0806e9d3dc6d425beb030a0ed241e6bb -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.33-py39he08593d_0.conda#c44087398a8b69ddb560e18f5ae98512 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py39h2865249_1.tar.bz2#6b7e75ba141872a00154f312d43d9a8c https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.23.5-py39h4fa106f_0.conda#e9f9bbb648b5cdf0b34b7d1a1e62469e -https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py39hc6341f6_3.tar.bz2#34b52d9f57e05e9600dfe39fee936ff8 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.1-py39hb10b683_0.conda#9356aa7b1653e1bf66637329a2b41429 +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db +https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39h70337d4_0.conda#80409ac8eed1fbe76aaa279faae3b4a5 https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc https://conda.anaconda.org/conda-forge/noarch/pypy-7.3.9-0_pypy39.tar.bz2#4f9efe821e2c2886da9c2fdc8b480738 -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 @@ -81,12 +83,11 @@ https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py39h4d8b378 https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.6-py39h2865249_0.tar.bz2#96cd622e9709839879768bf1db2a7058 https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.38.0-py39h4d8b378_1.tar.bz2#32eaab5fec9e6108cb431e7eec99d0cc https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 https://conda.anaconda.org/conda-forge/linux-64/scipy-1.8.1-py39hec0f089_3.tar.bz2#6df34a135e04f0b91a90ef20a70f7dde https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.6.2-py39hd8616df_0.tar.bz2#03f52764fd4319bbbde7e62c84fc2e11 https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py39h81e4ded_2.tar.bz2#6fde94a3541607887bb0572be1991d9d -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py39h4162558_0.tar.bz2#f392ad75fed5d80854323688aacc2bab https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py39h4162558_0.tar.bz2#f392ad75fed5d80854323688aacc2bab https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e diff --git a/build_tools/azure/ubuntu_atlas_lock.txt b/build_tools/azure/ubuntu_atlas_lock.txt index 18a8bb167119f..9cbe4d83f5b9a 100644 --- a/build_tools/azure/ubuntu_atlas_lock.txt +++ b/build_tools/azure/ubuntu_atlas_lock.txt @@ -1,29 +1,27 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # pip-compile --output-file=build_tools/azure/ubuntu_atlas_lock.txt build_tools/azure/ubuntu_atlas_requirements.txt # -attrs==22.1.0 +attrs==22.2.0 # via pytest -cython==0.29.32 +cython==0.29.33 # via -r build_tools/azure/ubuntu_atlas_requirements.txt -exceptiongroup==1.0.4 +exceptiongroup==1.1.0 # via pytest execnet==1.9.0 # via pytest-xdist -iniconfig==1.1.1 +iniconfig==2.0.0 # via pytest joblib==1.1.1 # via -r build_tools/azure/ubuntu_atlas_requirements.txt -packaging==21.3 +packaging==23.0 # via pytest pluggy==1.0.0 # via pytest py==1.11.0 # via pytest-forked -pyparsing==3.0.9 - # via packaging pytest==7.2.0 # via # -r build_tools/azure/ubuntu_atlas_requirements.txt diff --git a/build_tools/circle/py39_conda_forge_linux-aarch64_conda.lock b/build_tools/circle/py39_conda_forge_linux-aarch64_conda.lock index 7a96250ccc682..66ab20b463a24 100644 --- a/build_tools/circle/py39_conda_forge_linux-aarch64_conda.lock +++ b/build_tools/circle/py39_conda_forge_linux-aarch64_conda.lock @@ -2,12 +2,12 @@ # platform: linux-aarch64 # input_hash: 8cbd4b39fff3a0b91b6adc652e12de7b27aa74abb8b90e9d9aa0fc141dd28d84 @EXPLICIT -https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2022.9.24-h4fd8a4c_0.tar.bz2#831557fcf92cfc4353eb69fb95524b6c +https://conda.anaconda.org/conda-forge/linux-aarch64/ca-certificates-2022.12.7-h4fd8a4c_0.conda#2450fbcaf65634e0d071e47e2b8487b4 https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.39-h16cd69b_1.conda#9daf385ebefaea92087d3a315e398964 https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-12.2.0-hf695500_19.tar.bz2#bc890809e1f807b51bf04dfbee70ddf5 https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-ng-12.2.0-hc13a102_19.tar.bz2#981741cd4321edd5c504b48f74fe91f2 https://conda.anaconda.org/conda-forge/linux-aarch64/python_abi-3.9-3_cp39.conda#b6f330b045cf3425945d536a6b5cd240 -https://conda.anaconda.org/conda-forge/noarch/tzdata-2022f-h191b570_0.tar.bz2#e366350e2343a798e29833286abe2560 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8 https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-ng-12.2.0-he9431aa_19.tar.bz2#b5b34211bbf681bd3e7a5a4d80cce77b https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-2_kmp_llvm.tar.bz2#98a1185182fec3c434069fa74e6473d6 https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-12.2.0-h607ecd0_19.tar.bz2#8456a29b6d9fc3123ccb9a966b6b2c49 @@ -18,13 +18,14 @@ https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlicommon-1.0.9-h4e54 https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.14-h4e544f5_0.tar.bz2#d98452637cbf62abad9140fa93365f94 https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.4.2-h3557bc0_5.tar.bz2#dddd85f4d52121fab0a8b099c5e06501 https://conda.anaconda.org/conda-forge/linux-aarch64/libhiredis-1.0.2-h05efe27_0.tar.bz2#a87f068744fd20334cd41489eb163bee +https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-2.1.4-h4e544f5_0.tar.bz2#04a9a55dd9c81b15378fc96753c11be9 https://conda.anaconda.org/conda-forge/linux-aarch64/libnsl-2.0.0-hf897c2e_0.tar.bz2#36fdbc05c9d9145ece86f5a63c3f352e https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.21-pthreads_h6cb6f83_3.tar.bz2#bc66302748a788c3bce59999ed6d737d https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.32.1-hf897c2e_1000.tar.bz2#e038da5ef9095b0d79aac14a311394e7 https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.2.4-h4e544f5_0.tar.bz2#9c307c3dba834b9529f6dcd95db543ed https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.2.13-h4e544f5_4.tar.bz2#88596b6277fe6d39f046983aae6044db https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.3-headf329_1.tar.bz2#486b68148e121bc8bbadc3cefae4c04f -https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.0.7-h4e544f5_0.tar.bz2#471ec2da6a894f9bf1d11141993ce8d0 +https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.0.7-hb4cce97_1.conda#04ef6664eed137b63ebf19ac7fbb59ca https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-hb9de7d4_1001.tar.bz2#d0183ec6ce0b5aaa3486df25fa5f0ded https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.9-h3557bc0_0.tar.bz2#e0c187f5ce240897762bbb89a8a407cc https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.3-h3557bc0_0.tar.bz2#a6c9016ae1ca5c47a3603ed4cd65fedd @@ -35,37 +36,43 @@ https://conda.anaconda.org/conda-forge/linux-aarch64/libbrotlienc-1.0.9-h4e544f5 https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.39-hf9034f9_0.conda#5ec9052384a6ac85e9111e9ac7c5ec4c https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.40.0-hf9034f9_0.tar.bz2#9afb0d5dbaa403858a660cd0b4a31d29 https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.13-h3557bc0_1004.tar.bz2#cc973f5f452272c397546eac588cddb3 -https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-15.0.5-hb2805f8_0.tar.bz2#a201123d5e268610c8c8b73d5f3f0536 +https://conda.anaconda.org/conda-forge/linux-aarch64/llvm-openmp-15.0.6-hb2805f8_0.conda#e2750aba096e876a1dde67ab44c65c49 https://conda.anaconda.org/conda-forge/linux-aarch64/openblas-0.3.21-pthreads_h2d9dd7e_3.tar.bz2#17a824cf9bbf0e31998d2c1a2140204c https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.1.2-h38e3740_0.tar.bz2#3cdbfb7d7b63ae2c2d35bb167d257ecd https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.12-hd8af866_0.tar.bz2#7894e82ff743bd96c76585ddebe28e2a https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.2-hc1e27d5_4.tar.bz2#f5627b0fef9a5267fd4d2ad5d8b5c1b3 https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-bin-1.0.9-h4e544f5_8.tar.bz2#0980429a0148a53edd0f1f207ec28a39 https://conda.anaconda.org/conda-forge/linux-aarch64/ccache-4.7.3-hb064cd7_0.tar.bz2#8e71c7d1731d80d773cdafaa2ddcde50 -https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.12.1-hbbbf32d_0.tar.bz2#3bfd4d79b5d93fa03f94e243d5f640d2 +https://conda.anaconda.org/conda-forge/linux-aarch64/freetype-2.12.1-hbbbf32d_1.conda#e0891290982420d67651589c8584eec3 https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.9.0-16_linuxaarch64_openblas.tar.bz2#520a3ecbebc63239c27dd6f70c2ababe https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.9.0-16_linuxaarch64_openblas.tar.bz2#62990b2d1efc22d0beb394e893d39541 -https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.4.0-hacef7f3_4.tar.bz2#bf4778c9d0cf28b914a24d711b569335 +https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.5.0-hfcd36d1_0.conda#d5f419a71c95179e252399cd43634615 https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.9.15-hcd6f746_0_cpython.conda#4f20c6aad727bf0e2c9bb13a82f9a5fd -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-1.0.9-h4e544f5_8.tar.bz2#259d82bd990ba225508389509634b157 -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 +https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-aarch64/cython-0.29.32-py39h3d8bfb9_1.tar.bz2#f2289027c1793dc348cb50d8a99a57b9 -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/linux-aarch64/cython-0.29.33-py39hdcdd789_0.conda#7a94705550f5c09d4a3b069f0488caed +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-aarch64/kiwisolver-1.4.4-py39h110580c_1.tar.bz2#9c045502f6ab8c89bfda6be3c389e503 -https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.14-h5246980_0.tar.bz2#bc42d2aa9049730d4a75e7c6aa978f58 +https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.14-h7576be9_1.conda#33f4117db8c2b9ff0888cedd74b2f8e9 https://conda.anaconda.org/conda-forge/linux-aarch64/liblapacke-3.9.0-16_linuxaarch64_openblas.tar.bz2#97743bccc8b7edec0b9a726a8b80ecdf https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.23.5-py39hf5a3166_0.conda#1edf973a9f7a53a7cace6bf41f3dd51d -https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.0-h9b6de37_1.tar.bz2#3638647a2b0a7aa92be687fcc500af60 +https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-1.24.1-py39hc9a35f1_0.conda#cb6ed5a4bc0972f3d27016f5ce2754d4 +https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.0-h9508984_2.conda#3d56d402a845c243f8c2dd3c8e836029 +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 +https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 @@ -73,17 +80,23 @@ https://conda.anaconda.org/conda-forge/linux-aarch64/tornado-6.2-py39hb9a1dbb_1. https://conda.anaconda.org/conda-forge/linux-aarch64/unicodedata2-15.0.0-py39h0fd3b05_0.tar.bz2#835f1a9631e600e0176593e95e85f73f https://conda.anaconda.org/conda-forge/noarch/wheel-0.38.4-pyhd8ed1ab_0.tar.bz2#c829cfb8cb826acb9de0ac1a2df0a940 https://conda.anaconda.org/conda-forge/linux-aarch64/blas-devel-3.9.0-16_linuxaarch64_openblas.tar.bz2#5e5a376c40e95ab4b99519dfe6dc8912 +https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-1.15.1-py39hb26bf21_3.conda#dee0362c4fde8edce396183fd6390d6e https://conda.anaconda.org/conda-forge/linux-aarch64/contourpy-1.0.6-py39hcdbe1fc_0.tar.bz2#825d87dfc6e062558494d09769b211de https://conda.anaconda.org/conda-forge/linux-aarch64/fonttools-4.38.0-py39h0fd3b05_1.tar.bz2#c4eda904dc52f53c948d64d20662525f https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 -https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-9.2.0-py39hd8e725c_3.tar.bz2#b8984ef6c40a5e26472f07f18d910cc6 +https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-9.4.0-py39h32ea969_0.conda#af264aff235dba6dc88f6af322ad6835 https://conda.anaconda.org/conda-forge/noarch/pip-22.3.1-pyhd8ed1ab_0.tar.bz2#da66f2851b9836d3a7c5190082a45f7d +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 -https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.9.3-py39hc77f23a_2.tar.bz2#777bb5c46e3f56a96ceccf11c6332a60 https://conda.anaconda.org/conda-forge/linux-aarch64/blas-2.116-openblas.tar.bz2#ded0db9695cd575ec1c68a68873363c5 +https://conda.anaconda.org/conda-forge/linux-aarch64/brotlipy-0.7.0-py39h0fd3b05_1005.tar.bz2#5d37ef329c084829d3ff5b172a08b8f9 +https://conda.anaconda.org/conda-forge/linux-aarch64/cryptography-39.0.0-py39h8a84b6a_0.conda#dbf0c4fe3e4cd291219b108e8d3deab6 https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-base-3.6.2-py39h15a8d8b_0.tar.bz2#b6d1b0f734ac62c1d737a9f297aef8de -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c -https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-3.6.2-py39ha65689a_0.tar.bz2#b4d712f422b5dad5259f38151be6f492 https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf +https://conda.anaconda.org/conda-forge/linux-aarch64/matplotlib-3.6.2-py39ha65689a_0.tar.bz2#b4d712f422b5dad5259f38151be6f492 +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 +https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 +https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 +https://conda.anaconda.org/conda-forge/linux-aarch64/scipy-1.10.0-py39hafab3e7_0.conda#65d57c881ae668b5372bb6ad5e08bb78 diff --git a/build_tools/github/doc_linux-64_conda.lock b/build_tools/github/doc_linux-64_conda.lock index afd5b30297635..3554e9f086e51 100644 --- a/build_tools/github/doc_linux-64_conda.lock +++ b/build_tools/github/doc_linux-64_conda.lock @@ -3,19 +3,19 @@ # input_hash: 9badce0c7156caf1e39ce0f87c6af2ee57af251763652d9bbe1d6f5828c62f6f @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2#41e4e87062433e283696cf384f952ef6 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2#0c96522c6bdaed4b1566d11387caaf45 https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2#34893075a5c9e55cdafac56607368fc6 https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2#4d59c254e01d9cde7957100457e2d5fb https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2#19410c3df09dfb12d1206132a1d357c5 https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-2.6.32-he073ed8_15.tar.bz2#5dd5127afd710f91f6a75821bac0a4f0 https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.39-hcc3a1bd_1.conda#737be0d34c22d24432049ab7a3214de4 -https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-10.4.0-hd38fd1e_19.tar.bz2#b41d6540a78ba2518655eebcb0e41e20 +https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-11.3.0-h210ce93_19.tar.bz2#9b7bdb0b42ce4e4670d32bfe0532b56a https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-12.2.0-h337968e_19.tar.bz2#164b4b1acaedc47ee7e658ae6b308ca3 -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-10.4.0-hd38fd1e_19.tar.bz2#9367571bf3218f968a47c010618a9715 +https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-devel_linux-64-11.3.0-h210ce93_19.tar.bz2#8aee006c0662f551f3acef9a7077a5b9 https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-12.2.0-h46fd767_19.tar.bz2#1030b1f38c129f2634eae026f704fe60 https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-3_cp39.conda#0dd193187d54e585cac7eab942a8847e -https://conda.anaconda.org/conda-forge/noarch/tzdata-2022f-h191b570_0.tar.bz2#e366350e2343a798e29833286abe2560 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2022g-h191b570_0.conda#51fc4fcfb19f5d95ffc8c339db5068e8 https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2#f766549260d6815b0c52253f1fb1bb29 https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-12.2.0-h69a702a_19.tar.bz2#cd7a806282c16e1f2d39a7e80d3a3e0d https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.2.0-h65d4601_19.tar.bz2#cedcee7c064c01c403f962c9e8d3c373 @@ -26,39 +26,48 @@ https://conda.anaconda.org/conda-forge/linux-64/binutils-2.39-hdd6e379_1.conda#1 https://conda.anaconda.org/conda-forge/linux-64/binutils_linux-64-2.39-h5fc0e48_11.tar.bz2#b7d26ab37be17ea4c366a97138684bcb https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_kmp_llvm.tar.bz2#562b26ba2e19059551a811e72ab7f793 https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2#e4c94f80aef025c17ab0828cd85ef535 -https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.3.2-h166bdaf_0.tar.bz2#b7607b7b62dce55c194ad84f99464e5f +https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.8-h166bdaf_0.tar.bz2#be733e69048951df1e4b4b7bb8c7666f https://conda.anaconda.org/conda-forge/linux-64/aom-3.5.0-h27087fc_0.tar.bz2#a08150fd2298460cd1fcccf626305642 +https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2#d9c69a24ad678ffce24c6543a0176b00 https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.18.1-h7f98852_0.tar.bz2#f26ef8098fab1f719c91eb760d63381a https://conda.anaconda.org/conda-forge/linux-64/charls-2.3.4-h9c3ff4c_0.tar.bz2#c3f85a96a52befc5e41cab1145c8d3c2 https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.0.0-h166bdaf_1.tar.bz2#e890928299fe7242a108850fc0a5b7fc https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-h27087fc_0.tar.bz2#c4fbad8d4bddeb3c085f18cbf97fbfad +https://conda.anaconda.org/conda-forge/linux-64/fftw-3.3.10-nompi_hf0379b8_106.conda#d7407e695358f068a2a7f8295cde0567 https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2#14947d8770185e5153fdd04d4673ed37 https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h36c2ea0_2.tar.bz2#626e68ae9cc5912d6adb79d318cf962d -https://conda.anaconda.org/conda-forge/linux-64/icu-69.1-h9c3ff4c_0.tar.bz2#e0773c9556d588b062a4e1424a6a02fa +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-orc-0.4.33-h166bdaf_0.tar.bz2#879c93426c9d0b84a9de4513fbce5f4f +https://conda.anaconda.org/conda-forge/linux-64/icu-70.1-h27087fc_0.tar.bz2#87473a15119779e021c314249d4b4aed https://conda.anaconda.org/conda-forge/linux-64/jpeg-9e-h166bdaf_2.tar.bz2#ee8b844357a0946870901c7c6f418268 https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-h7f98852_2.tar.bz2#8e787b08fe19986d99d034b839df2961 https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2#30186d27e2c9fa62b45fb1476b7200e3 +https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2#a8832b479f93521a9e7b5b743803be51 https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2#76bbff344f0134279f225174e9064c8f https://conda.anaconda.org/conda-forge/linux-64/libaec-1.0.6-h9c3ff4c_0.tar.bz2#c77f5e4e418fa47d699d6afa54c5d444 https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.0.9-h166bdaf_8.tar.bz2#9194c9bf9428035a05352d031462eae4 +https://conda.anaconda.org/conda-forge/linux-64/libdb-6.2.32-h9c3ff4c_0.tar.bz2#3f3258d8f841fbac63b36b75bdac1afd https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.bz2#fc84a0446e4e4fb882e78d786cfb9734 https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2#6f8720dff19e17ce5d48cfe7f3d2f0a3 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2#b62b52da46c39ee2bc3c162ac7f1804d +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2#b4f717df2d377410b462328bf0e8fb7d https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2#6e8cc2173440d77708196c5b93771680 https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.21-pthreads_h78a6416_3.tar.bz2#8c5963a49b6035c40646a763293fbb35 https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2#15345e56d527b330e1cacbdf58676e8f -https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-10.4.0-h5246dfb_19.tar.bz2#b068ad132a509367bc9e5a200a639429 +https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.3.0-h239ccf8_19.tar.bz2#d17fd55aed84ab6592c5419b6600501c +https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda#f204c8ba400ec475452737094fb81d52 +https://conda.anaconda.org/conda-forge/linux-64/libudev1-252-h166bdaf_0.tar.bz2#174243089ec111479298a5b7099b64b5 https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.4-h166bdaf_0.tar.bz2#ac2ccf7323d21f2994e4d1f5da664f37 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2#c66fe2d123249af7651ebde8984c51c2 https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_1.tar.bz2#fbe97e8fa6f275d7c76a09e795adc3e6 +https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.31.1-h27087fc_0.tar.bz2#0af513b75f78a701a152568a31303bdf https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h166bdaf_0.tar.bz2#d1ad1824c71e67dea42f07e06cd177dc +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda#da0ec11a6454ae19bff5b02ed881a2b1 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.0.7-h0b41bf4_1.conda#7adaac6ff98219bcb99b45e408b80f4e https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 https://conda.anaconda.org/conda-forge/linux-64/snappy-1.1.9-hbd366e4_2.tar.bz2#48018e187dacc6002d3ede9c824238ac https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 @@ -67,95 +76,106 @@ https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2#2161 https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2#4cb3ad778ec2d5a7acbdf254eb1c42ae https://conda.anaconda.org/conda-forge/linux-64/zfp-1.0.0-h27087fc_3.tar.bz2#0428af0510c3fafedf1c66b43102a34b https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.0.6-h166bdaf_0.tar.bz2#8650e4fb44c4a618e5ab3e1e19607e32 -https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-10.4.0-h5231bdf_19.tar.bz2#a086547de4cee874e72d5a43230372ec +https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.3.0-hab1b70f_19.tar.bz2#89ac16d36e66ccb9ca5d34c9217e5799 +https://conda.anaconda.org/conda-forge/linux-64/jack-1.9.21-h583fa2b_2.conda#7b36a10b58964d4444fcba44244710c5 https://conda.anaconda.org/conda-forge/linux-64/libavif-0.11.1-h5cdd6b5_0.tar.bz2#2040f9067e8852606208cafa66c3563f https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-16_linux64_openblas.tar.bz2#d9b7a8639171f6c6fa0a983edabcfe2b https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.0.9-h166bdaf_8.tar.bz2#4ae4d7795d33e02bd20f6b23d91caf82 https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.0.9-h166bdaf_8.tar.bz2#04bac51ba35ea023dc48af73c1c88c25 +https://conda.anaconda.org/conda-forge/linux-64/libcap-2.66-ha37c62d_0.tar.bz2#2d7665abd0997f1a6d4b7596bc27b657 https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2#4d331e44109e3f0e19b4cb8f9b82f3e1 https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.10-h28343ad_4.tar.bz2#4a049fc560e00e43151dc51368915fdd -https://conda.anaconda.org/conda-forge/linux-64/libllvm13-13.0.1-hf817b99_2.tar.bz2#47da3ce0d8b2e65ccb226c186dd91eba -https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.47.0-hff17c54_1.tar.bz2#2b7dbfa6988a41f9d23ba6d4f0e1d74e +https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.2-h27087fc_0.tar.bz2#7daf72d8e2a8e848e11d63ed6d1026e0 +https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.46-h620e276_0.conda#27e745f6f2e4b757e95dd7225fbe6bdb +https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.51.0-hff17c54_0.conda#dd682f0b6d65e75b2bc868fc8e93d87e https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.10.0-hf14f497_3.tar.bz2#d85acad4b47dff4e3def14a769a97906 https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2#309dec04b70a3cc0f1e84a4013683bc0 https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1004.tar.bz2#b3653fdc58d03face9724f602218a904 -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.5-he0ac6c6_0.tar.bz2#5c4783b468153a1d8f33874c5bb55864 +https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.3-hca2bb57_1.conda#e67867487d8f19c9ac2b4ee7871e69de +https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.6-he0ac6c6_0.conda#6b80b7135d057de371c7284c8471b044 https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.0.31-h26416b9_0.tar.bz2#6c531bc30d49ae75b9c7c7f65bd62e3c https://conda.anaconda.org/conda-forge/linux-64/openblas-0.3.21-pthreads_h320a7e8_3.tar.bz2#29155b9196b9d78022f11d86733e25a7 https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.40-hc3806b6_0.tar.bz2#69e2c796349cd9b273890bee0febfe1b https://conda.anaconda.org/conda-forge/linux-64/readline-8.1.2-h0f457ee_0.tar.bz2#db2ebbe2943aae81ed051a6a9af8e0fa https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 -https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-h166bdaf_4.tar.bz2#4b11e365c0275b808be78b30f904e295 https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2#adcf0be7897e73e312bd24353b613f74 -https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.1-h83bc5f7_3.tar.bz2#37baca23e60af4130cfc03e8ab9f8e22 +https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.3-hafa529b_0.conda#bcf0664a2dbbbb86cbd4c1e6ff10ddd6 https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.0.9-h166bdaf_8.tar.bz2#e5613f2bc717e9945840ff474419b8e4 -https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.4.3-h7a311fb_0.tar.bz2#675c0a3103fd69380bda86cfddb0f3f4 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2#4e54cbfc47b8c74c2ecc1e7730d8edce -https://conda.anaconda.org/conda-forge/linux-64/gcc-10.4.0-hb92f740_11.tar.bz2#492fd2006232e01ddcf85994f3d9bdac -https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-10.4.0-h9215b83_11.tar.bz2#8ec7a24818e75cd2975e6fe785ad18eb -https://conda.anaconda.org/conda-forge/linux-64/gfortran_impl_linux-64-10.4.0-h7d168d2_19.tar.bz2#2d598895087101a581a617221b815ec2 -https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-10.4.0-h5231bdf_19.tar.bz2#de8c00c5162b819c3e8a7f64ed32baf1 -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.19.3-h08a2579_0.tar.bz2#d25e05e7ee0e302b52d24491db4891eb +https://conda.anaconda.org/conda-forge/linux-64/c-blosc2-2.6.1-hf91038e_0.conda#332b553e1a0d22c318756ffcd370384c +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda#e1232042de76d24539a436d37597eb06 +https://conda.anaconda.org/conda-forge/linux-64/gcc-11.3.0-h02d0930_11.tar.bz2#6037ebe5f1e3054519ce78b11eec9cd4 +https://conda.anaconda.org/conda-forge/linux-64/gcc_linux-64-11.3.0-he6f903b_11.tar.bz2#25f76cb82e483ce96d118b9edffd12c9 +https://conda.anaconda.org/conda-forge/linux-64/gfortran_impl_linux-64-11.3.0-he34c6f7_19.tar.bz2#3de873ee757f1a2e583416a3583f84c4 +https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.3.0-hab1b70f_19.tar.bz2#b73564a352e64bb5f2c9bfd3cd6dd127 +https://conda.anaconda.org/conda-forge/linux-64/krb5-1.20.1-h81ceb04_0.conda#89a41adce7106749573d883b2f657d78 https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-16_linux64_openblas.tar.bz2#20bae26d0a1db73f758fc3754cab4719 -https://conda.anaconda.org/conda-forge/linux-64/libclang-13.0.1-default_hc23dcda_0.tar.bz2#8cebb0736cba83485b13dc10d242d96d +https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.1-h166bdaf_0.tar.bz2#f967fc95089cd247ceed56eda31de3a9 https://conda.anaconda.org/conda-forge/linux-64/libglib-2.74.1-h606061b_1.tar.bz2#ed5349aa96776e00b34eccecf4a948fe https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-16_linux64_openblas.tar.bz2#955d993f41f9354bf753d29864ea20ad -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2#901791f0ec7cddc8714e76e273013a91 -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.12-h885dcf4_1.tar.bz2#d1355eaa48f465782f228275a0a69771 +https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.6-h63197d8_0.conda#201168ef66095bbd565e124ee2c56a20 +https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.1.0-hcb278e6_1.conda#d7a07b1f5974bce4735112aaef0c1467 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h82bc61c_0.conda#a01611c54334d783847879ee40109657 +https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.0.31-hbc51c84_0.tar.bz2#da9633eee814d4e910fe42643a356315 +https://conda.anaconda.org/conda-forge/linux-64/nss-3.82-he02c5a1_0.conda#f8d7f11d19e4cb2207eab159fd4c0152 https://conda.anaconda.org/conda-forge/linux-64/python-3.9.15-hba424b6_0_cpython.conda#7b9485fce17fac2dd4aca6117a9936c2 -https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2#bb11803129cbbb53ed56f9506ff74145 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-h166bdaf_0.tar.bz2#384e7fcb3cd162ba3e4aed4b687df566 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h166bdaf_0.tar.bz2#637054603bb7594302e3bf83f0a99879 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-h166bdaf_0.tar.bz2#732e22f1741bccea861f5668cf7342a7 +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h166bdaf_0.tar.bz2#0a8e20a8aef954390b9481a527421a8c https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 https://conda.anaconda.org/conda-forge/linux-64/brotli-1.0.9-h166bdaf_8.tar.bz2#2ff08978892a3e8b954397c461f18418 -https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.5.1-h166bdaf_0.tar.bz2#0667d7da14e682c9d07968601f6233ef -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.5.2-h0b41bf4_0.conda#69afb4e35be6366c2c1f9ed7f49bc3e6 +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2#20e4087407c7cb04a40817114b333dbf https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.0-pyhd8ed1ab_0.tar.bz2#a6cf47b09786423200d7982d1faa19eb https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2#3faab06a954c2a04039983f2c4a50d99 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb -https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.32-py39h5a03fae_1.tar.bz2#fb8cd95c2b97eaa8e6eba63021b41567 +https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.33-py39h227be39_0.conda#34bab6ef3e8cdf86fe78c46a984d3217 https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2#ecfff944ba3960ecb334b9a2663d708d https://conda.anaconda.org/conda-forge/linux-64/docutils-0.19-py39hf3d152e_1.tar.bz2#adb733ec2ee669f6d010758d054da60f -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.1-hc2a2eb6_0.tar.bz2#78415f0180a8d9c5bcc47889e00d5fb1 https://conda.anaconda.org/conda-forge/noarch/fsspec-2022.11.0-pyhd8ed1ab_0.tar.bz2#eb919f2119a6db5d0192f9e9c3711572 -https://conda.anaconda.org/conda-forge/linux-64/gfortran-10.4.0-h0c96582_11.tar.bz2#9a22e19ae1d372f19a6514a4442f7917 -https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-10.4.0-h69d5af5_11.tar.bz2#7d42e71ff8a9f51b7a206ee35a742ce1 +https://conda.anaconda.org/conda-forge/linux-64/gfortran-11.3.0-ha859ce3_11.tar.bz2#9a6a0c6fc4d192fddc7347a0ca31a329 +https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-11.3.0-h3c55166_11.tar.bz2#f70b169eb69320d71f193758b7df67e8 https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.74.1-h6239696_1.tar.bz2#5f442e6bc9d89ba236eb25a25c5c2815 -https://conda.anaconda.org/conda-forge/linux-64/gxx-10.4.0-hb92f740_11.tar.bz2#a286961cd68f7d36f4ece4578042567c -https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-10.4.0-h6e491c6_11.tar.bz2#842f0029666e37e929cbd1e7614f5862 +https://conda.anaconda.org/conda-forge/linux-64/gxx-11.3.0-h02d0930_11.tar.bz2#e47dd4b4e577f03bb6aab18f48be5419 +https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-11.3.0-hc203a17_11.tar.bz2#15fbc9079f191d468403639a6515652c https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2#7de5386c8fea29e76b303f37dde4c352 -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py39hf939315_1.tar.bz2#41679a052a8ce841c74df1ebc802e411 -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-h6ed2654_0.tar.bz2#dcc588839de1445d90995a0a2c4f3a39 -https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.86.0-h2283fc2_1.tar.bz2#fdca8cd67ec2676f90a70ac73a32538b +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda#c2566c2ea5f153ddd6bf4acaf7547d97 +https://conda.anaconda.org/conda-forge/linux-64/libclang13-15.0.6-default_h3a83d3e_0.conda#535dd0ca1dcb165b6a8ffa10d01945fe +https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h36d4200_3.conda#c9f4416a34bc91e0eb029f912c68f81f +https://conda.anaconda.org/conda-forge/linux-64/libcurl-7.87.0-hdc1c0ab_0.conda#bc302fa1cf8eda15c60f669b7524a320 https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.9.0-16_linux64_openblas.tar.bz2#823ceb5567e1a595deb643fcd17aed5a -https://conda.anaconda.org/conda-forge/linux-64/libpq-14.5-he2d8382_1.tar.bz2#c194811a2d160ef3210218ee508b6075 -https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.0.3-he3ba5ed_0.tar.bz2#f9dbabc7e01c459ed7a1d1d64b206e9b +https://conda.anaconda.org/conda-forge/linux-64/libpq-15.1-hb675445_3.conda#9873ab80ec8fab4a2c26c7580e0d7f58 +https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-252-h2a991cd_0.tar.bz2#3c5ae9f61f663b3d5e1bf7f7da0c85f5 https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4 https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.1-py39hb9d737c_2.tar.bz2#c678e07e7862b3157fb9f6d908233ffa https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2#2ba8498c1018c1e9c61eb99b973dfe19 -https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.8-pyhd8ed1ab_0.tar.bz2#bb45ff9deddb045331fd039949f39650 -https://conda.anaconda.org/conda-forge/linux-64/nss-3.78-h2350873_0.tar.bz2#ab3df39f96742e6f1a9878b09274c1dc -https://conda.anaconda.org/conda-forge/linux-64/numpy-1.23.5-py39h3d75532_0.conda#ea5d332e361eb72c2593cf79559bc0ec -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2#a11b4df9271a8d7917686725aa04c8f2 +https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda#88e40007414ea9a13f8df20fcffa87e2 +https://conda.anaconda.org/conda-forge/linux-64/numpy-1.24.1-py39h223a676_0.conda#ce779b1c4e7ff4cc2f2690d173974daf +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda#5ce6a42505c6e9e6151c54c3ec8d68ea +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 +https://conda.anaconda.org/conda-forge/noarch/ply-3.11-py_1.tar.bz2#7205635cd71531943440fbfe3b6b5727 https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py39hb9d737c_0.tar.bz2#12184951da572828fb986b06ffb63eed https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc -https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-4.19.18-py39he80948d_8.tar.bz2#9dbac74c150d2542eca77c02da307168 https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 -https://conda.anaconda.org/conda-forge/noarch/pytz-2022.6-pyhd8ed1ab_0.tar.bz2#b1f26ad83328e486910ef7f6e81dc061 +https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7-pyhd8ed1ab_0.conda#c8d7e34ca76d6ecc03b84bedfd99d689 https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py39hb9d737c_5.tar.bz2#ef9db3c38ae7275f6b14491cfe61a248 -https://conda.anaconda.org/conda-forge/noarch/setuptools-65.5.1-pyhd8ed1ab_0.tar.bz2#cfb8dc4d9d285ca5fb1177b9dd450e33 +https://conda.anaconda.org/conda-forge/noarch/setuptools-65.6.3-pyhd8ed1ab_0.conda#9600fc9524d3f821e6a6d58c52f5bf5a https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2#4d22a9315e78c6827f806065957d566e https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 @@ -166,70 +186,72 @@ https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.ta https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_2.tar.bz2#9ff55a0901cf952f05c654394de76bf7 https://conda.anaconda.org/conda-forge/noarch/tenacity-8.1.0-pyhd8ed1ab_0.tar.bz2#97e6f26dd5b93c9f5e6142e16ee3af62 https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.1.0-pyh8a188c0_0.tar.bz2#a2995ee828f65687ac5b1e71a2ab1e0c +https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2#5844808ffab9ebdb694585b50ba02a96 https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2#92facfec94bc02d6ccf42e7173831a36 https://conda.anaconda.org/conda-forge/linux-64/tornado-6.2-py39hb9d737c_1.tar.bz2#8a7d309b08cff6386fe384aa10dd3748 https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.4.0-pyha770c72_0.tar.bz2#2d93b130d148d7fc77e583677792fc6a https://conda.anaconda.org/conda-forge/linux-64/unicodedata2-15.0.0-py39hb9d737c_0.tar.bz2#230d65004135bf312504a1bbcb0c7a08 https://conda.anaconda.org/conda-forge/noarch/wheel-0.38.4-pyhd8ed1ab_0.tar.bz2#c829cfb8cb826acb9de0ac1a2df0a940 -https://conda.anaconda.org/conda-forge/noarch/zipp-3.10.0-pyhd8ed1ab_0.tar.bz2#cd4eb48ebde7de61f92252979aab515c +https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h166bdaf_0.tar.bz2#c9b568bd804cb2903c6be6f5f68182e4 +https://conda.anaconda.org/conda-forge/noarch/zipp-3.11.0-pyhd8ed1ab_0.conda#09b5b885341697137879a4f039a9e5a1 https://conda.anaconda.org/conda-forge/noarch/babel-2.11.0-pyhd8ed1ab_0.tar.bz2#2ea70fde8d581ba9425a761609eed6ba https://conda.anaconda.org/conda-forge/linux-64/blas-devel-3.9.0-16_linux64_openblas.tar.bz2#519562d6176dab9c2ab9a8336a14c8e7 https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-h9c3ff4c_0.tar.bz2#c1ac6229d0bfd14f8354ff9ad2a26cad -https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_2.tar.bz2#fc70a133e8162f51e363cff3b6dc741c +https://conda.anaconda.org/conda-forge/linux-64/cffi-1.15.1-py39he91dace_3.conda#20080319ef73fbad74dcd6d62f2a3ffe https://conda.anaconda.org/conda-forge/linux-64/cfitsio-4.2.0-hd9d235c_0.conda#8c57a9adbafd87f5eff842abde599cb4 https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.0.6-py39hf939315_0.tar.bz2#fb3f77fe25042c20c51974fcfe72f797 -https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.5.1-h924138e_0.tar.bz2#45830a0730fee6c23551878c5f05a219 +https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.5.2-hf52228f_0.conda#6b3b19e359824b97df7145c8c878c8be https://conda.anaconda.org/conda-forge/linux-64/cytoolz-0.12.0-py39hb9d737c_1.tar.bz2#eb31327ace8dac15c2df243d9505a132 https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.38.0-py39hb9d737c_1.tar.bz2#3f2d104f2fefdd5e8a205dd3aacbf1d7 -https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.5.1-h2a4ca65_0.tar.bz2#4851e61ed9676cee9e50136f2a373302 +https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.5.2-hdb1a99f_0.conda#265323e1bd53709aeb739c9b1794b398 https://conda.anaconda.org/conda-forge/linux-64/glib-2.74.1-h6239696_1.tar.bz2#f3220a9e9d3abcbfca43419a219df7e4 -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-5.0.0-pyha770c72_1.tar.bz2#ec069c4db6a0ad84107bac5da62819d2 +https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.0.0-pyha770c72_0.conda#691644becbcdca9f73243450b1c63e62 https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2#c8490ed5c70966d232fdd389d0dbed37 https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2#7583652522d71ad78ba536bba06940eb +https://conda.anaconda.org/conda-forge/linux-64/libclang-15.0.6-default_h2e3cab8_0.conda#1b2cee49acc5b03c73ad0f68bfe04bb8 https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhd8ed1ab_0.tar.bz2#8b45f9f2b2f7a98b0ec179c8991a4a9b -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 https://conda.anaconda.org/conda-forge/noarch/partd-1.3.0-pyhd8ed1ab_0.tar.bz2#af8c82d121e63082926062d61d9abb54 -https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py39hf3a2cdf_3.tar.bz2#2bd111c38da69056e5fe25a51b832eba +https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py39ha08a7e4_0.conda#d62ba9d1a981544c809813afaf0be5c0 https://conda.anaconda.org/conda-forge/noarch/pip-22.3.1-pyhd8ed1ab_0.tar.bz2#da66f2851b9836d3a7c5190082a45f7d -https://conda.anaconda.org/conda-forge/noarch/plotly-5.11.0-pyhd8ed1ab_0.tar.bz2#71aef86c572ad0ee49dba9af238d9c13 -https://conda.anaconda.org/conda-forge/noarch/pygments-2.13.0-pyhd8ed1ab_0.tar.bz2#9f478e8eedd301008b5f395bad0caaed +https://conda.anaconda.org/conda-forge/noarch/plotly-5.11.0-pyhd8ed1ab_1.conda#e594a3343150c5c470902d46e1723b45 +https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-16.1-h126f2b6_0.tar.bz2#e4b74b33e13dd146e7d8b5078fc9ad30 +https://conda.anaconda.org/conda-forge/noarch/pygments-2.14.0-pyhd8ed1ab_0.conda#c78cd16b11cd6a295484bd6c8f24bea1 +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 -https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.3.0-py39h2ae25f5_2.tar.bz2#234ad9828eca1caf0f2fdcb4a24ad816 -https://conda.anaconda.org/conda-forge/linux-64/scipy-1.9.3-py39hddc5342_2.tar.bz2#0615ac8191c6ccf7d40860aff645f774 +https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.4.1-py39h389d5f1_0.conda#9eeb2b2549f836ca196c6cbd22344122 +https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.5-py39h5a03fae_0.conda#c3eb463691a8b93f1c381a9e56ecad9a https://conda.anaconda.org/conda-forge/linux-64/blas-2.116-openblas.tar.bz2#02f34bcf0aceb6fae4c4d1ecb71c852a https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39hb9d737c_1005.tar.bz2#a639fdd9428d8b25f8326a3838d54045 -https://conda.anaconda.org/conda-forge/linux-64/compilers-1.5.1-ha770c72_0.tar.bz2#8a0ff3c519396696bbe9ca786606372f -https://conda.anaconda.org/conda-forge/linux-64/cryptography-38.0.3-py39h3ccb8fc_0.tar.bz2#64119cc315958472211288435368f1e5 -https://conda.anaconda.org/conda-forge/noarch/dask-core-2022.11.1-pyhd8ed1ab_0.conda#383ee12e7c9c27adab310a884bc359ab -https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.20.3-hd4edc92_2.tar.bz2#153cfb02fb8be7dd7cabcbcb58a63053 -https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2022.9.26-py39hf32c164_4.conda#4bdbe7db90f8c77efb9eb8ef6417343d -https://conda.anaconda.org/conda-forge/noarch/imageio-2.22.4-pyhfa7a67d_0.conda#aa86d07656fd55578073e9980a6d7c07 +https://conda.anaconda.org/conda-forge/linux-64/compilers-1.5.2-ha770c72_0.conda#f95226244ee1c487cf53272f971323f4 +https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py39h079d5ae_0.conda#70ac60b214a8df9b9ce63e05af7d0976 +https://conda.anaconda.org/conda-forge/noarch/dask-core-2022.12.1-pyhd8ed1ab_0.conda#f12878f9839c72f3d51af02fb10da43d +https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.21.3-h25f0c4b_1.conda#0c8a8f15aa319c91d9010072278feddd +https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2022.12.24-py39h9bcf58b_0.conda#eabe68411edbe232ea26f49859634915 +https://conda.anaconda.org/conda-forge/noarch/imageio-2.24.0-pyh24c5eb1_0.conda#e8a7ffa70678faf378356ed2719120e9 https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.6.2-py39hf9fd14e_0.tar.bz2#78ce32061e0be12deb8e0f11ffb76906 -https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py39h4661b88_0.conda#e17e50269c268d79478956a262a9fe13 -https://conda.anaconda.org/conda-forge/noarch/patsy-0.5.3-pyhd8ed1ab_0.tar.bz2#50ef6b29b1fb0768ca82c5aeb4fb2d96 -https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py39h7c9e3ff_2.tar.bz2#d2f1c4eed5ed41fb1bf3e905ccac0eb8 -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c -https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.20.2-hcf0ee16_0.tar.bz2#79d7fca692d224dc29a72bda90f78a7b -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2#fbfa0a180d48c800f922a10a114a8632 +https://conda.anaconda.org/conda-forge/linux-64/pandas-1.5.2-py39h2ad29b5_2.conda#5fb2814013a84e9a59d7a9ddf803c6b4 +https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.11.0-py39h5a03fae_2.tar.bz2#306f1a018668f06a0bd89350a3f62c07 https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf -https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.12.1-pyhd8ed1ab_0.tar.bz2#f87b94dc53178574eedd09c317c2318f -https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.13.5-py39h2ae25f5_2.tar.bz2#598b14b778a8f3e06a3579649f0e3c00 -https://conda.anaconda.org/conda-forge/noarch/tifffile-2022.10.10-pyhd8ed1ab_0.tar.bz2#1c126ff5b4643785bbc16e44e6327e41 +https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.21.3-h4243ec0_1.conda#905563d166c13ba299e39d6c9fcebd1c +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e -https://conda.anaconda.org/conda-forge/linux-64/qt-5.12.9-h1304e3e_6.tar.bz2#f2985d160b8c43dd427923c04cd732fe -https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.19.3-py39h4661b88_2.tar.bz2#a8d53b12aedcd84107ba8c85c81be56f -https://conda.anaconda.org/conda-forge/noarch/seaborn-0.12.1-hd8ed1ab_0.tar.bz2#b7e4c670752726d4991298fa0c581e97 -https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2#0738978569b10669bdef41c671252dd1 -https://conda.anaconda.org/conda-forge/linux-64/pyqt-impl-5.12.3-py39hde8b62d_8.tar.bz2#4863d6734a1bd7a86ac5ede53bf9b3c7 +https://conda.anaconda.org/conda-forge/noarch/tifffile-2022.10.10-pyhd8ed1ab_0.tar.bz2#1c126ff5b4643785bbc16e44e6327e41 +https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.6-hf6cd601_5.conda#9c23a5205b67f2a67b19c84bf1fd7f5e +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 +https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.7-py39h18e9c17_2.tar.bz2#384809c51fb2adc04773f6fa097cd051 https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 +https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py39hf3d152e_0.tar.bz2#03225b4745d1dee7bb19d81e41c773a0 https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 -https://conda.anaconda.org/conda-forge/linux-64/pyqtchart-5.12-py39h0fcd23e_8.tar.bz2#d7d18728be87fdc0ddda3e65d41caa53 -https://conda.anaconda.org/conda-forge/linux-64/pyqtwebengine-5.12.1-py39h0fcd23e_8.tar.bz2#2098c2b2c9a38b43678a27819ff9433f -https://conda.anaconda.org/conda-forge/noarch/sphinx-5.3.0-pyhd8ed1ab_0.tar.bz2#f9e1fcfe235d655900bfeb6aee426472 +https://conda.anaconda.org/conda-forge/noarch/sphinx-6.1.2-pyhd8ed1ab_0.conda#879e69c1a1e5e8127b45bf0dccfe172f https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.5.0-pyhd8ed1ab_0.tar.bz2#3c275d7168a6a135329f4acb364c229a -https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.12.3-py39hf3d152e_8.tar.bz2#466425e3ee3b190e06b8a5a7098421aa +https://conda.anaconda.org/conda-forge/linux-64/scipy-1.10.0-py39h7360e5f_0.conda#d6d4f8195ec2c846deebe71306f60298 https://conda.anaconda.org/conda-forge/noarch/sphinx-gallery-0.11.1-pyhd8ed1ab_0.tar.bz2#729254314a5d178eefca50acbc2687b8 https://conda.anaconda.org/conda-forge/noarch/sphinx-prompt-1.4.0-pyhd8ed1ab_0.tar.bz2#88ee91e8679603f2a5bd036d52919cc2 -https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.6.2-py39hf3d152e_0.tar.bz2#03225b4745d1dee7bb19d81e41c773a0 -# pip sphinxext-opengraph @ https://files.pythonhosted.org/packages/d0/74/196f5da691be83ab02f8e9bd2c8acc2a3b0712da0a871f4aa2b7a023f90f/sphinxext_opengraph-0.7.3-py3-none-any.whl#sha256=edbfb21f1d31f572fc87a6ccc347cac502a3b8bb04c312bc2fa4888542f8505d +https://conda.anaconda.org/conda-forge/noarch/patsy-0.5.3-pyhd8ed1ab_0.tar.bz2#50ef6b29b1fb0768ca82c5aeb4fb2d96 +https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.2.3-py39h7c9e3ff_2.tar.bz2#d2f1c4eed5ed41fb1bf3e905ccac0eb8 +https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.19.3-py39h4661b88_2.tar.bz2#a8d53b12aedcd84107ba8c85c81be56f +https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.12.2-pyhd8ed1ab_0.conda#cf88f3a1c11536bc3c10c14ad00ccc42 +https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.13.5-py39h2ae25f5_2.tar.bz2#598b14b778a8f3e06a3579649f0e3c00 +https://conda.anaconda.org/conda-forge/noarch/seaborn-0.12.2-hd8ed1ab_0.conda#50847a47c07812f88581081c620f5160 +# pip sphinxext-opengraph @ https://files.pythonhosted.org/packages/f2/eb/9ac8de50b67ca607f31c95facfdc499b8ce5a3c696f6691b6a9213d84f23/sphinxext_opengraph-0.7.5-py3-none-any.whl#sha256=d7fcf48b5d6477292492c0c7da6ddc469e3657159952e2a0a0df074f54aad99e diff --git a/build_tools/github/doc_min_dependencies_linux-64_conda.lock b/build_tools/github/doc_min_dependencies_linux-64_conda.lock index d5d233094e3c6..7742c80420de8 100644 --- a/build_tools/github/doc_min_dependencies_linux-64_conda.lock +++ b/build_tools/github/doc_min_dependencies_linux-64_conda.lock @@ -3,7 +3,7 @@ # input_hash: 980f5bade7f2b6355391f184da81979ecdbbc22d74d1c965c7bed1921e988107 @EXPLICIT https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.9.24-ha878542_0.tar.bz2#41e4e87062433e283696cf384f952ef6 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-2.6.32-he073ed8_15.tar.bz2#5dd5127afd710f91f6a75821bac0a4f0 https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2#bd4f2e711b39af170e7ff15163fe87ee https://conda.anaconda.org/conda-forge/linux-64/libgcc-devel_linux-64-7.5.0-hda03d7c_20.tar.bz2#2146b25eb2a762a44fab709338a7b6d9 @@ -28,13 +28,14 @@ https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2#76 https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.14-h166bdaf_0.tar.bz2#fc84a0446e4e4fb882e78d786cfb9734 https://conda.anaconda.org/conda-forge/linux-64/libffi-3.2.1-he1b5a44_1007.tar.bz2#11389072d7d6036fd811c3d9460475cd https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2#b62b52da46c39ee2bc3c162ac7f1804d +https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.4-h166bdaf_0.tar.bz2#b4f717df2d377410b462328bf0e8fb7d https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.32.1-h7f98852_1000.tar.bz2#772d69f030955d9646d3d0eaf21d859d https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.4-h166bdaf_0.tar.bz2#ac2ccf7323d21f2994e4d1f5da664f37 https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-0.10.0-he1b5a44_0.tar.bz2#78ccac2098edcd3673af2ceb3e95f932 https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/nspr-4.32-h9c3ff4c_1.tar.bz2#29ded371806431b0499aaee146abfc3e -https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1s-h166bdaf_0.tar.bz2#e17553617ce05787d97715177be014d1 +https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda#da0ec11a6454ae19bff5b02ed881a2b1 +https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1s-h0b41bf4_1.conda#c5405eccf20334e57a80c1c3a9e68266 https://conda.anaconda.org/conda-forge/linux-64/pcre-8.45-h9c3ff4c_0.tar.bz2#c05d1820a6d34ff07aaaab7a9b7eddaa https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2#22dad4df6e8630e8dff2428f6f6a7036 https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.9-h7f98852_0.tar.bz2#bf6f803a544f26ebbdc3bfff272eb179 @@ -48,33 +49,33 @@ https://conda.anaconda.org/conda-forge/linux-64/libllvm9-9.0.1-default_hc23dcda_ https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda#e1c890aebdebbfbf87e2c917187b4416 https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.13-h7f98852_1004.tar.bz2#b3653fdc58d03face9724f602218a904 -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.5-he0ac6c6_0.tar.bz2#5c4783b468153a1d8f33874c5bb55864 +https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-15.0.6-he0ac6c6_0.conda#6b80b7135d057de371c7284c8471b044 https://conda.anaconda.org/conda-forge/linux-64/readline-8.1.2-h0f457ee_0.tar.bz2#db2ebbe2943aae81ed051a6a9af8e0fa https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-h166bdaf_4.tar.bz2#4b11e365c0275b808be78b30f904e295 https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.2-h6239696_4.tar.bz2#adcf0be7897e73e312bd24353b613f74 https://conda.anaconda.org/conda-forge/linux-64/c-compiler-1.1.1-h516909a_0.tar.bz2#d98aa4948ec35f52907e2d6152e2b255 -https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_0.tar.bz2#4e54cbfc47b8c74c2ecc1e7730d8edce +https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-hca18f0e_1.conda#e1232042de76d24539a436d37597eb06 https://conda.anaconda.org/conda-forge/linux-64/gfortran_linux-64-7.5.0-h78c8a43_33.tar.bz2#b2879010fb369f4012040f7a27657cd8 https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-7.5.0-h555fc39_33.tar.bz2#5cf979793d2c5130a012cb6480867adc https://conda.anaconda.org/conda-forge/linux-64/libclang-9.0.1-default_hb4e5071_5.tar.bz2#9dde69aa2a8ecd575a16e44987bdc9f7 https://conda.anaconda.org/conda-forge/linux-64/libglib-2.66.3-hbe7bbb4_0.tar.bz2#d5a09a9e981849b751cb75656b7302a0 -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.4.0-h55922b4_4.tar.bz2#901791f0ec7cddc8714e76e273013a91 +https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.0-h82bc61c_0.conda#a01611c54334d783847879ee40109657 https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.9.10-hee79883_0.tar.bz2#0217b0926808b1adf93247bba489d733 https://conda.anaconda.org/conda-forge/linux-64/mkl-2020.4-h726a3e6_304.tar.bz2#b9b35a50e5377b19da6ec0709ae77fc3 +https://conda.anaconda.org/conda-forge/linux-64/nss-3.82-he02c5a1_0.conda#f8d7f11d19e4cb2207eab159fd4c0152 https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.40.0-h4ff8645_0.tar.bz2#bb11803129cbbb53ed56f9506ff74145 https://conda.anaconda.org/conda-forge/linux-64/cxx-compiler-1.1.1-hc9558a2_0.tar.bz2#1eb7c67eb11eab0c98a87f84174fdde1 https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.1-hc2a2eb6_0.tar.bz2#78415f0180a8d9c5bcc47889e00d5fb1 https://conda.anaconda.org/conda-forge/linux-64/fortran-compiler-1.1.1-he991be0_0.tar.bz2#e38ac82cc517b9e245c1ae99f9f140da -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-h6ed2654_0.tar.bz2#dcc588839de1445d90995a0a2c4f3a39 +https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.14-hfd0df8a_1.conda#c2566c2ea5f153ddd6bf4acaf7547d97 https://conda.anaconda.org/conda-forge/linux-64/libblas-3.8.0-20_mkl.tar.bz2#8fbce60932c01d0e193a1a814f2002be -https://conda.anaconda.org/conda-forge/linux-64/nss-3.78-h2350873_0.tar.bz2#ab3df39f96742e6f1a9878b09274c1dc -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h7d73246_1.tar.bz2#a11b4df9271a8d7917686725aa04c8f2 +https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda#5ce6a42505c6e9e6151c54c3ec8d68ea https://conda.anaconda.org/conda-forge/linux-64/python-3.8.6-h852b56e_0_cpython.tar.bz2#dd65401dfb61ac030edc0dc4d15c2c51 https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b -https://conda.anaconda.org/conda-forge/noarch/attrs-22.1.0-pyh71513ae_1.tar.bz2#6d3ccbc56256204925bfa8378722792f -https://conda.anaconda.org/conda-forge/noarch/certifi-2022.9.24-pyhd8ed1ab_0.tar.bz2#f66309b099374af91369e67e84af397d +https://conda.anaconda.org/conda-forge/noarch/attrs-22.2.0-pyh71513ae_0.conda#8b76db7818a4e401ed4486c4c1635cd9 +https://conda.anaconda.org/conda-forge/noarch/certifi-2022.12.7-pyhd8ed1ab_0.conda#fb9addc3db06e56abe03e0e9f21a63e6 https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-2.1.1-pyhd8ed1ab_0.tar.bz2#c1d5b294fbf9a795dec349a6f4d8be8e https://conda.anaconda.org/conda-forge/noarch/click-8.1.3-unix_pyhd8ed1ab_2.tar.bz2#20e4087407c7cb04a40817114b333dbf https://conda.anaconda.org/conda-forge/noarch/cloudpickle-2.2.0-pyhd8ed1ab_0.tar.bz2#a6cf47b09786423200d7982d1faa19eb @@ -83,27 +84,28 @@ https://conda.anaconda.org/conda-forge/linux-64/compilers-1.1.1-0.tar.bz2#1ba267 https://conda.anaconda.org/conda-forge/noarch/cycler-0.11.0-pyhd8ed1ab_0.tar.bz2#a50559fad0affdbb33729a68669ca1cb https://conda.anaconda.org/conda-forge/linux-64/cython-0.29.24-py38h709712a_1.tar.bz2#9e5fe389471a13ae523ae980de4ad1f4 https://conda.anaconda.org/conda-forge/linux-64/docutils-0.17.1-py38h578d9bd_3.tar.bz2#34e1f12e3ed15aff218644e9d865b722 -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.0.4-pyhd8ed1ab_0.tar.bz2#e0734d1f12de77f9daca98bda3428733 +https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.1.0-pyhd8ed1ab_0.conda#a385c3e8968b4cf8fbc426ace915fd1a https://conda.anaconda.org/conda-forge/noarch/execnet-1.9.0-pyhd8ed1ab_0.tar.bz2#0e521f7a5e60d508b121d38b04874fb2 https://conda.anaconda.org/conda-forge/noarch/fsspec-2022.11.0-pyhd8ed1ab_0.tar.bz2#eb919f2119a6db5d0192f9e9c3711572 https://conda.anaconda.org/conda-forge/linux-64/glib-2.66.3-h58526e2_0.tar.bz2#62c2e5c84f6cdc7ded2307ef9c30dc8c https://conda.anaconda.org/conda-forge/noarch/idna-3.4-pyhd8ed1ab_0.tar.bz2#34272b248891bddccc64479f9a7fffed https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2#7de5386c8fea29e76b303f37dde4c352 -https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 +https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda#f800d2da156d08e289b14e87e43c1ae5 https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.4-py38h43d8883_1.tar.bz2#41ca56d5cac7bfc7eb4fcdbee878eb84 https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.8.0-20_mkl.tar.bz2#14b25490fdcc44e879ac6c10fe764f68 https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.8.0-20_mkl.tar.bz2#52c0ae3606eeae7e1d493f37f336f4f5 https://conda.anaconda.org/conda-forge/noarch/locket-1.0.0-pyhd8ed1ab_0.tar.bz2#91e27ef3d05cc772ce627e51cff111c4 https://conda.anaconda.org/conda-forge/linux-64/markupsafe-1.1.1-py38h0a891b7_4.tar.bz2#d182e0c60439427453ed4a7abd28ef0d -https://conda.anaconda.org/conda-forge/noarch/networkx-2.8.8-pyhd8ed1ab_0.tar.bz2#bb45ff9deddb045331fd039949f39650 -https://conda.anaconda.org/conda-forge/linux-64/pillow-9.2.0-py38h9eb91d8_3.tar.bz2#61dc7b3140b7b79b1985b53d52726d74 +https://conda.anaconda.org/conda-forge/noarch/networkx-3.0-pyhd8ed1ab_0.conda#88e40007414ea9a13f8df20fcffa87e2 +https://conda.anaconda.org/conda-forge/noarch/packaging-22.0-pyhd8ed1ab_0.conda#0e8e1bd93998978fc3125522266d12db +https://conda.anaconda.org/conda-forge/linux-64/pillow-9.4.0-py38hb32c036_0.conda#a288a6e69efc2f20c30ebfa590e11bed https://conda.anaconda.org/conda-forge/noarch/pluggy-1.0.0-pyhd8ed1ab_5.tar.bz2#7d301a0d25f424d96175f810935f0da9 https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.4-py38h0a891b7_0.tar.bz2#fe2ef279417faa1af0adf178de2032f7 https://conda.anaconda.org/conda-forge/noarch/py-1.11.0-pyh6c4a22f_0.tar.bz2#b4613d7e7a493916d867842a6a148054 https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2#076becd9e05608f8dc72757d5f3a91ff https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2#e8fbc1b54b25f4b08281467bc13b70cc https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2#2a7de29fb590ca14b5243c4c812c8025 -https://conda.anaconda.org/conda-forge/noarch/pytz-2022.6-pyhd8ed1ab_0.tar.bz2#b1f26ad83328e486910ef7f6e81dc061 +https://conda.anaconda.org/conda-forge/noarch/pytz-2022.7-pyhd8ed1ab_0.conda#c8d7e34ca76d6ecc03b84bedfd99d689 https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0-py38h0a891b7_5.tar.bz2#0856c59f9ddb710c640dc0428d66b1b7 https://conda.anaconda.org/conda-forge/linux-64/setuptools-59.8.0-py38h578d9bd_1.tar.bz2#da023e4a9c777abc28434d7a6473dcc2 https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2#e5f25f8dbc060e9a8d912e432202afc2 @@ -131,37 +133,36 @@ https://conda.anaconda.org/conda-forge/noarch/joblib-1.2.0-pyhd8ed1ab_0.tar.bz2# https://conda.anaconda.org/conda-forge/linux-64/liblapacke-3.8.0-20_mkl.tar.bz2#8274dc30518af9df1de47f5d9e73165c https://conda.anaconda.org/conda-forge/noarch/memory_profiler-0.61.0-pyhd8ed1ab_0.tar.bz2#8b45f9f2b2f7a98b0ec179c8991a4a9b https://conda.anaconda.org/conda-forge/linux-64/numpy-1.17.3-py38h95a1406_0.tar.bz2#bc0cbf611fe2f86eab29b98e51404f5e -https://conda.anaconda.org/conda-forge/noarch/packaging-21.3-pyhd8ed1ab_0.tar.bz2#71f1ab2de48613876becddd496371c85 https://conda.anaconda.org/conda-forge/noarch/partd-1.3.0-pyhd8ed1ab_0.tar.bz2#af8c82d121e63082926062d61d9abb54 https://conda.anaconda.org/conda-forge/noarch/pip-22.3.1-pyhd8ed1ab_0.tar.bz2#da66f2851b9836d3a7c5190082a45f7d https://conda.anaconda.org/conda-forge/noarch/plotly-5.10.0-pyhd8ed1ab_0.tar.bz2#e95502aa0f8e3db05d198214472575de -https://conda.anaconda.org/conda-forge/noarch/pygments-2.13.0-pyhd8ed1ab_0.tar.bz2#9f478e8eedd301008b5f395bad0caaed +https://conda.anaconda.org/conda-forge/noarch/pygments-2.14.0-pyhd8ed1ab_0.conda#c78cd16b11cd6a295484bd6c8f24bea1 +https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2#dd999d1cc9f79e67dbb855c8924c7984 https://conda.anaconda.org/conda-forge/linux-64/blas-2.20-mkl.tar.bz2#e7d09a07f5413e53dca5282b8fa50bed https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py38h0a891b7_1005.tar.bz2#e99e08812dfff30fdd17b3f8838e2759 -https://conda.anaconda.org/conda-forge/linux-64/cryptography-38.0.3-py38h2b5fc30_0.tar.bz2#218274e4a04630a977b4da2b45eff593 -https://conda.anaconda.org/conda-forge/noarch/dask-core-2022.11.1-pyhd8ed1ab_0.conda#383ee12e7c9c27adab310a884bc359ab +https://conda.anaconda.org/conda-forge/linux-64/cryptography-39.0.0-py38h1724139_0.conda#24e75282e857cb0641c4f1b82cf6d6ea +https://conda.anaconda.org/conda-forge/noarch/dask-core-2022.12.1-pyhd8ed1ab_0.conda#f12878f9839c72f3d51af02fb10da43d https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.14.5-h0935bb2_2.tar.bz2#eb125ee86480e00a4a1ed45a577c3311 -https://conda.anaconda.org/conda-forge/noarch/imageio-2.22.4-pyhfa7a67d_0.conda#aa86d07656fd55578073e9980a6d7c07 +https://conda.anaconda.org/conda-forge/noarch/imageio-2.24.0-pyh24c5eb1_0.conda#e8a7ffa70678faf378356ed2719120e9 https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.1.3-py38h250f245_0.tar.bz2#eb182969d8ed019d4de6939f393270d2 https://conda.anaconda.org/conda-forge/linux-64/pandas-1.0.5-py38hcb8c335_0.tar.bz2#1e1b4382170fd26cf722ef008ffb651e -https://conda.anaconda.org/conda-forge/noarch/pytest-7.2.0-pyhd8ed1ab_2.tar.bz2#ac82c7aebc282e6ac0450fca012ca78c +https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.1.1-py38h5c078b8_3.tar.bz2#dafeef887e68bd18ec84681747ca0fd5 https://conda.anaconda.org/conda-forge/linux-64/scipy-1.3.2-py38h921218d_0.tar.bz2#278670dc2fef5a6309d1635f047bd456 https://conda.anaconda.org/conda-forge/noarch/patsy-0.5.3-pyhd8ed1ab_0.tar.bz2#50ef6b29b1fb0768ca82c5aeb4fb2d96 https://conda.anaconda.org/conda-forge/linux-64/pyamg-4.0.0-py38hf6732f7_1003.tar.bz2#44e00bf7a4b6a564e9313181aaea2615 -https://conda.anaconda.org/conda-forge/noarch/pyopenssl-22.1.0-pyhd8ed1ab_0.tar.bz2#fbfa0a180d48c800f922a10a114a8632 -https://conda.anaconda.org/conda-forge/noarch/pytest-forked-1.4.0-pyhd8ed1ab_1.tar.bz2#60958bab291681d9c3ba69e80f1434cf +https://conda.anaconda.org/conda-forge/noarch/pyopenssl-23.0.0-pyhd8ed1ab_0.conda#d41957700e83bbb925928764cb7f8878 +https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e https://conda.anaconda.org/conda-forge/linux-64/qt-5.12.5-hd8c4c69_1.tar.bz2#0e105d4afe0c3c81c4fbd9937ec4f359 https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.16.2-py38hb3f55d8_0.tar.bz2#468b398fefac8884cd6e6513af66549b -https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.12.1-pyhd8ed1ab_0.tar.bz2#f87b94dc53178574eedd09c317c2318f +https://conda.anaconda.org/conda-forge/noarch/seaborn-base-0.12.2-pyhd8ed1ab_0.conda#cf88f3a1c11536bc3c10c14ad00ccc42 https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.12.3-py38ha8c2ead_3.tar.bz2#242c206b0c30fdc4c18aea16f04c4262 -https://conda.anaconda.org/conda-forge/noarch/pytest-xdist-2.5.0-pyhd8ed1ab_0.tar.bz2#1fdd1f3baccf0deb647385c677a1a48e https://conda.anaconda.org/conda-forge/linux-64/statsmodels-0.12.2-py38h5c078b8_0.tar.bz2#33787719ad03d33cffc4e2e3ea82bc9e -https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.11-pyhd8ed1ab_0.tar.bz2#0738978569b10669bdef41c671252dd1 +https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.13-pyhd8ed1ab_0.conda#3078ef2359efd6ecadbc7e085c5e0592 https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.1.3-py38_0.tar.bz2#1992ab91bbff86ded8d99d1f488d8e8b https://conda.anaconda.org/conda-forge/noarch/requests-2.28.1-pyhd8ed1ab_1.tar.bz2#089382ee0e2dc2eae33a04cc3c2bddb0 -https://conda.anaconda.org/conda-forge/noarch/seaborn-0.12.1-hd8ed1ab_0.tar.bz2#b7e4c670752726d4991298fa0c581e97 +https://conda.anaconda.org/conda-forge/noarch/seaborn-0.12.2-hd8ed1ab_0.conda#50847a47c07812f88581081c620f5160 https://conda.anaconda.org/conda-forge/noarch/pooch-1.6.0-pyhd8ed1ab_0.tar.bz2#6429e1d1091c51f626b5dcfdd38bf429 https://conda.anaconda.org/conda-forge/noarch/sphinx-4.0.1-pyh6c4a22f_2.tar.bz2#c203dcc46f262853ecbb9552c50d664e https://conda.anaconda.org/conda-forge/noarch/numpydoc-1.2-pyhd8ed1ab_0.tar.bz2#025ad7ca2c7f65007ab6b6f5d93a56eb diff --git a/build_tools/update_environments_and_lock_files.py b/build_tools/update_environments_and_lock_files.py index 5ba06c6ae0614..4b3ceed76e109 100644 --- a/build_tools/update_environments_and_lock_files.py +++ b/build_tools/update_environments_and_lock_files.py @@ -170,9 +170,11 @@ def remove_from(alist, to_remove): "folder": "build_tools/azure", "platform": "linux-64", "channel": "defaults", - "conda_dependencies": ["python", "ccache"], + # sphinx in conda_dependencies as a temporary work-around for + # https://github.com/conda-incubator/conda-lock/issues/309 + "conda_dependencies": ["python", "ccache", "sphinx"], "pip_dependencies": remove_from(common_dependencies, ["python", "blas"]) - + docstring_test_dependencies + + remove_from(docstring_test_dependencies, ["sphinx"]) + ["lightgbm", "scikit-image"], "package_constraints": { "python": "3.9", @@ -183,7 +185,9 @@ def remove_from(alist, to_remove): "folder": "build_tools/azure", "platform": "linux-64", "channel": "defaults", - "conda_dependencies": ["python", "ccache"], + # sphinx in conda_dependencies as a temporary work-around for + # https://github.com/conda-incubator/conda-lock/issues/309 + "conda_dependencies": ["python", "ccache", "sphinx"], "pip_dependencies": remove_from( common_dependencies, [ @@ -203,7 +207,7 @@ def remove_from(alist, to_remove): ], ) + ["pooch"] - + docstring_test_dependencies + + remove_from(docstring_test_dependencies, ["sphinx"]) # python-dateutil is a dependency of pandas and pandas is removed from # the environment.yml. Adding python-dateutil so it is pinned + ["python-dateutil"], From a1fb2be3ed656e76e8215b95ff2b6bb8a2b86b72 Mon Sep 17 00:00:00 2001 From: Maren Westermann Date: Wed, 11 Jan 2023 18:33:09 +0100 Subject: [PATCH 08/27] TST use global_random_seed in sklearn/cluster/tests/test_hierarchical.py (#25281) --- sklearn/cluster/tests/test_hierarchical.py | 37 +++++++++++----------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/sklearn/cluster/tests/test_hierarchical.py b/sklearn/cluster/tests/test_hierarchical.py index b8a478d444873..510295ab8343b 100644 --- a/sklearn/cluster/tests/test_hierarchical.py +++ b/sklearn/cluster/tests/test_hierarchical.py @@ -176,10 +176,10 @@ def test_agglomerative_clustering_distances( assert not hasattr(clustering, "distances_") -def test_agglomerative_clustering(): +def test_agglomerative_clustering(global_random_seed): # Check that we obtain the correct number of clusters with # agglomerative clustering. - rng = np.random.RandomState(0) + rng = np.random.RandomState(global_random_seed) mask = np.ones([10, 10], dtype=bool) n_samples = 100 X = rng.randn(n_samples, 50) @@ -280,9 +280,9 @@ def test_agglomerative_clustering_memory_mapped(): AgglomerativeClustering(metric="euclidean", linkage="single").fit(Xmm) -def test_ward_agglomeration(): +def test_ward_agglomeration(global_random_seed): # Check that we obtain the correct solution in a simplistic case - rng = np.random.RandomState(0) + rng = np.random.RandomState(global_random_seed) mask = np.ones([10, 10], dtype=bool) X = rng.randn(50, 100) connectivity = grid_to_graph(*mask.shape) @@ -330,10 +330,10 @@ def assess_same_labelling(cut1, cut2): assert (co_clust[0] == co_clust[1]).all() -def test_sparse_scikit_vs_scipy(): +def test_sparse_scikit_vs_scipy(global_random_seed): # Test scikit linkage with full connectivity (i.e. unstructured) vs scipy n, p, k = 10, 5, 3 - rng = np.random.RandomState(0) + rng = np.random.RandomState(global_random_seed) # Not using a lil_matrix here, just to check that non sparse # matrices are well handled @@ -370,10 +370,9 @@ def test_sparse_scikit_vs_scipy(): # Make sure our custom mst_linkage_core gives # the same results as scipy's builtin -@pytest.mark.parametrize("seed", range(5)) -def test_vector_scikit_single_vs_scipy_single(seed): +def test_vector_scikit_single_vs_scipy_single(global_random_seed): n_samples, n_features, n_clusters = 10, 5, 3 - rng = np.random.RandomState(seed) + rng = np.random.RandomState(global_random_seed) X = 0.1 * rng.normal(size=(n_samples, n_features)) X -= 4.0 * np.arange(n_samples)[:, np.newaxis] X -= X.mean(axis=1)[:, np.newaxis] @@ -468,13 +467,13 @@ def test_connectivity_propagation(): ward.fit(X) -def test_ward_tree_children_order(): +def test_ward_tree_children_order(global_random_seed): # Check that children are ordered in the same way for both structured and # unstructured versions of ward_tree. # test on five random datasets n, p = 10, 5 - rng = np.random.RandomState(0) + rng = np.random.RandomState(global_random_seed) connectivity = np.ones((n, n)) for i in range(5): @@ -488,13 +487,13 @@ def test_ward_tree_children_order(): assert_array_equal(out_unstructured[0], out_structured[0]) -def test_ward_linkage_tree_return_distance(): +def test_ward_linkage_tree_return_distance(global_random_seed): # Test return_distance option on linkage and ward trees # test that return_distance when set true, gives same # output on both structured and unstructured clustering. n, p = 10, 5 - rng = np.random.RandomState(0) + rng = np.random.RandomState(global_random_seed) connectivity = np.ones((n, n)) for i in range(5): @@ -726,10 +725,10 @@ def increment(self, *args, **kwargs): @pytest.mark.parametrize("linkage", ["ward", "complete", "average"]) -def test_agglomerative_clustering_with_distance_threshold(linkage): +def test_agglomerative_clustering_with_distance_threshold(linkage, global_random_seed): # Check that we obtain the correct number of clusters with # agglomerative clustering with distance_threshold. - rng = np.random.RandomState(0) + rng = np.random.RandomState(global_random_seed) mask = np.ones([10, 10], dtype=bool) n_samples = 100 X = rng.randn(n_samples, 50) @@ -764,8 +763,8 @@ def test_agglomerative_clustering_with_distance_threshold(linkage): assert np.array_equiv(clusters_produced, clusters_at_threshold) -def test_small_distance_threshold(): - rng = np.random.RandomState(0) +def test_small_distance_threshold(global_random_seed): + rng = np.random.RandomState(global_random_seed) n_samples = 10 X = rng.randint(-300, 300, size=(n_samples, 3)) # this should result in all data in their own clusters, given that @@ -781,8 +780,8 @@ def test_small_distance_threshold(): assert clustering.n_clusters_ == n_samples -def test_cluster_distances_with_distance_threshold(): - rng = np.random.RandomState(0) +def test_cluster_distances_with_distance_threshold(global_random_seed): + rng = np.random.RandomState(global_random_seed) n_samples = 100 X = rng.randint(-10, 10, size=(n_samples, 3)) # check the distances within the clusters and with other clusters From 689792fde702dbead31a643a6f49e19a892fa399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Est=C3=A8ve?= Date: Wed, 11 Jan 2023 19:55:13 +0100 Subject: [PATCH 09/27] CI Use latest Cython sources in scipy-dev build (#25300) --- build_tools/azure/install.sh | 8 +++---- sklearn/_build_utils/__init__.py | 34 +++++++++++++++++++++++------- sklearn/neighbors/_binary_tree.pxi | 2 +- sklearn/neighbors/_quad_tree.pyx | 2 +- sklearn/tree/_tree.pyx | 2 +- 5 files changed, 33 insertions(+), 15 deletions(-) diff --git a/build_tools/azure/install.sh b/build_tools/azure/install.sh index 26b184d6f7d1d..1c76a7a4aa5d3 100755 --- a/build_tools/azure/install.sh +++ b/build_tools/azure/install.sh @@ -83,11 +83,11 @@ python_environment_install_and_activate() { echo "Installing development dependency wheels" dev_anaconda_url=https://pypi.anaconda.org/scipy-wheels-nightly/simple pip install --pre --upgrade --timeout=60 --extra-index $dev_anaconda_url numpy pandas scipy - echo "Installing Cython from PyPI enabling pre-releases" - pip install --pre cython - echo "Installing joblib master" + echo "Installing Cython from latest sources" + pip install https://github.com/cython/cython/archive/master.zip + echo "Installing joblib from latest sources" pip install https://github.com/joblib/joblib/archive/master.zip - echo "Installing pillow master" + echo "Installing pillow from latest sources" pip install https://github.com/python-pillow/Pillow/archive/main.zip fi } diff --git a/sklearn/_build_utils/__init__.py b/sklearn/_build_utils/__init__.py index 6828192aaf4a5..755171ee770c4 100644 --- a/sklearn/_build_utils/__init__.py +++ b/sklearn/_build_utils/__init__.py @@ -40,6 +40,7 @@ def cythonize_extensions(extension): """Check that a recent Cython is available and cythonize extensions""" _check_cython_version() from Cython.Build import cythonize + import Cython # Fast fail before cythonization if compiler fails compiling basic test # code even without OpenMP @@ -70,20 +71,37 @@ def cythonize_extensions(extension): os.environ.get("SKLEARN_ENABLE_DEBUG_CYTHON_DIRECTIVES", "0") != "0" ) + compiler_directives = { + "language_level": 3, + "boundscheck": cython_enable_debug_directives, + "wraparound": False, + "initializedcheck": False, + "nonecheck": False, + "cdivision": True, + } + + # TODO: once Cython 3 is released and we require Cython>=3 we should get + # rid of the `legacy_implicit_noexcept` directive. + # This should mostly consist in: + # + # - ensuring nogil is at the end of function signature, + # e.g. replace "nogil except -1" by "except -1 nogil". + # + # - "noexcept"-qualifying Cython and externalized C interfaces + # which aren't raising nor propagating exceptions. + # See: https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html#error-return-values # noqa + # + # See: https://github.com/cython/cython/issues/5088 for more details + if parse(Cython.__version__) > parse("3.0.0a11"): + compiler_directives["legacy_implicit_noexcept"] = True + return cythonize( extension, nthreads=n_jobs, compile_time_env={ "SKLEARN_OPENMP_PARALLELISM_ENABLED": sklearn._OPENMP_SUPPORTED }, - compiler_directives={ - "language_level": 3, - "boundscheck": cython_enable_debug_directives, - "wraparound": False, - "initializedcheck": False, - "nonecheck": False, - "cdivision": True, - }, + compiler_directives=compiler_directives, ) diff --git a/sklearn/neighbors/_binary_tree.pxi b/sklearn/neighbors/_binary_tree.pxi index 415fa0292fcda..00b5b3c2758d3 100644 --- a/sklearn/neighbors/_binary_tree.pxi +++ b/sklearn/neighbors/_binary_tree.pxi @@ -846,7 +846,7 @@ cdef class BinaryTree: # with numbers of points between leaf_size and 2 * leaf_size self.n_levels = int( np.log2(fmax(1, (n_samples - 1) / self.leaf_size)) + 1) - self.n_nodes = (2 ** self.n_levels) - 1 + self.n_nodes = (2 ** self.n_levels) - 1 # allocate arrays for storage self.idx_array = np.arange(n_samples, dtype=ITYPE) diff --git a/sklearn/neighbors/_quad_tree.pyx b/sklearn/neighbors/_quad_tree.pyx index 3d2c306a38177..a7607cb56e0eb 100644 --- a/sklearn/neighbors/_quad_tree.pyx +++ b/sklearn/neighbors/_quad_tree.pyx @@ -52,7 +52,7 @@ cdef class _QuadTree: # Parameters of the tree self.n_dimensions = n_dimensions self.verbose = verbose - self.n_cells_per_cell = 2 ** self.n_dimensions + self.n_cells_per_cell = (2 ** self.n_dimensions) # Inner structures self.max_depth = 0 diff --git a/sklearn/tree/_tree.pyx b/sklearn/tree/_tree.pyx index 68cb2475d3868..e5d983b1344bf 100644 --- a/sklearn/tree/_tree.pyx +++ b/sklearn/tree/_tree.pyx @@ -155,7 +155,7 @@ cdef class DepthFirstTreeBuilder(TreeBuilder): cdef int init_capacity if tree.max_depth <= 10: - init_capacity = (2 ** (tree.max_depth + 1)) - 1 + init_capacity = (2 ** (tree.max_depth + 1)) - 1 else: init_capacity = 2047 From 5b3c9a1ee715fb49b2992e0b3f586db4ae9b478f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20du=20Boisberranger?= <34657725+jeremiedbb@users.noreply.github.com> Date: Wed, 11 Jan 2023 20:26:44 +0100 Subject: [PATCH 10/27] MAINT Clean deprecations in MiniBatchDictionaryLearning (#25357) --- sklearn/decomposition/_dict_learning.py | 146 ++++-------------- .../decomposition/tests/test_dict_learning.py | 52 +------ 2 files changed, 36 insertions(+), 162 deletions(-) diff --git a/sklearn/decomposition/_dict_learning.py b/sklearn/decomposition/_dict_learning.py index 728c6abceb289..1f56cb2fe1625 100644 --- a/sklearn/decomposition/_dict_learning.py +++ b/sklearn/decomposition/_dict_learning.py @@ -17,7 +17,6 @@ from ..base import BaseEstimator, TransformerMixin, ClassNamePrefixFeaturesOutMixin from ..utils import check_array, check_random_state, gen_even_slices, gen_batches -from ..utils import deprecated from ..utils._param_validation import Hidden, Interval, StrOptions from ..utils._param_validation import validate_params from ..utils.extmath import randomized_svd, row_norms, svd_flip @@ -627,7 +626,7 @@ def _dict_learning( def _check_warn_deprecated(param, name, default, additional_message=None): if param != "deprecated": msg = ( - f"'{name}' is deprecated in version 1.1 and will be removed in version 1.3." + f"'{name}' is deprecated in version 1.1 and will be removed in version 1.4." ) if additional_message: msg += f" {additional_message}" @@ -647,7 +646,7 @@ def dict_learning_online( return_code=True, dict_init=None, callback=None, - batch_size="warn", + batch_size=256, verbose=False, shuffle=True, n_jobs=None, @@ -717,11 +716,11 @@ def dict_learning_online( callback : callable, default=None A callable that gets invoked at the end of each iteration. - batch_size : int, default=3 + batch_size : int, default=256 The number of samples to take in each batch. .. versionchanged:: 1.3 - The default value of `batch_size` will change from 3 to 256 in version 1.3. + The default value of `batch_size` changed from 3 to 256 in version 1.3. verbose : bool, default=False To control the verbosity of the procedure. @@ -747,7 +746,7 @@ def dict_learning_online( initialization. .. deprecated:: 1.1 - `iter_offset` serves internal purpose only and will be removed in 1.3. + `iter_offset` serves internal purpose only and will be removed in 1.4. random_state : int, RandomState instance or None, default=None Used for initializing the dictionary when ``dict_init`` is not @@ -763,7 +762,7 @@ def dict_learning_online( ignored. .. deprecated:: 1.1 - `return_inner_stats` serves internal purpose only and will be removed in 1.3. + `return_inner_stats` serves internal purpose only and will be removed in 1.4. inner_stats : tuple of (A, B) ndarrays, default=None Inner sufficient statistics that are kept by the algorithm. @@ -773,13 +772,13 @@ def dict_learning_online( `B` `(n_features, n_components)` is the data approximation matrix. .. deprecated:: 1.1 - `inner_stats` serves internal purpose only and will be removed in 1.3. + `inner_stats` serves internal purpose only and will be removed in 1.4. return_n_iter : bool, default=False Whether or not to return the number of iterations. .. deprecated:: 1.1 - `return_n_iter` will be removed in 1.3 and n_iter will always be returned. + `return_n_iter` will be removed in 1.4 and n_iter will never be returned. positive_dict : bool, default=False Whether to enforce positivity when finding the dictionary. @@ -848,7 +847,7 @@ def dict_learning_online( return_inner_stats, "return_inner_stats", default=False, - additional_message="From 1.3 inner_stats will never be returned.", + additional_message="From 1.4 inner_stats will never be returned.", ) inner_stats = _check_warn_deprecated(inner_stats, "inner_stats", default=None) return_n_iter = _check_warn_deprecated( @@ -856,7 +855,7 @@ def dict_learning_online( "return_n_iter", default=False, additional_message=( - "From 1.3 'n_iter' will never be returned. Refer to the 'n_iter_' and " + "From 1.4 'n_iter' will never be returned. Refer to the 'n_iter_' and " "'n_steps_' attributes of the MiniBatchDictionaryLearning object instead." ), ) @@ -891,20 +890,13 @@ def dict_learning_online( code = est.transform(X) return code, est.components_ - # TODO remove the whole old behavior in 1.3 + # TODO(1.4) remove the whole old behavior # Fallback to old behavior n_iter = _check_warn_deprecated( n_iter, "n_iter", default=100, additional_message="Use 'max_iter' instead." ) - if batch_size == "warn": - warnings.warn( - "The default value of batch_size will change from 3 to 256 in 1.3.", - FutureWarning, - ) - batch_size = 3 - if n_components is None: n_components = X.shape[1] @@ -1903,11 +1895,11 @@ class MiniBatchDictionaryLearning(_BaseSparseCoding, BaseEstimator): ``-1`` means using all processors. See :term:`Glossary ` for more details. - batch_size : int, default=3 + batch_size : int, default=256 Number of samples in each mini-batch. .. versionchanged:: 1.3 - The default value of `batch_size` will change from 3 to 256 in version 1.3. + The default value of `batch_size` changed from 3 to 256 in version 1.3. shuffle : bool, default=True Whether to shuffle the samples before forming batches. @@ -2006,17 +1998,6 @@ class MiniBatchDictionaryLearning(_BaseSparseCoding, BaseEstimator): components_ : ndarray of shape (n_components, n_features) Components extracted from the data. - inner_stats_ : tuple of (A, B) ndarrays - Internal sufficient statistics that are kept by the algorithm. - Keeping them is useful in online settings, to avoid losing the - history of the evolution, but they shouldn't have any use for the - end user. - `A` `(n_components, n_components)` is the dictionary covariance matrix. - `B` `(n_features, n_components)` is the data approximation matrix. - - .. deprecated:: 1.1 - `inner_stats_` serves internal purpose only and will be removed in 1.3. - n_features_in_ : int Number of features seen during :term:`fit`. @@ -2031,19 +2012,6 @@ class MiniBatchDictionaryLearning(_BaseSparseCoding, BaseEstimator): n_iter_ : int Number of iterations over the full dataset. - iter_offset_ : int - The number of iteration on data batches that has been performed before. - - .. deprecated:: 1.1 - `iter_offset_` has been renamed `n_steps_` and will be removed in 1.3. - - random_state_ : RandomState instance - RandomState instance that is generated either from a seed, the random - number generattor or by `np.random`. - - .. deprecated:: 1.1 - `random_state_` serves internal purpose only and will be removed in 1.3. - n_steps_ : int Number of mini-batches processed. @@ -2100,10 +2068,7 @@ class MiniBatchDictionaryLearning(_BaseSparseCoding, BaseEstimator): "max_iter": [Interval(Integral, 0, None, closed="left"), None], "fit_algorithm": [StrOptions({"cd", "lars"})], "n_jobs": [None, Integral], - "batch_size": [ - Interval(Integral, 1, None, closed="left"), - Hidden(StrOptions({"warn"})), - ], + "batch_size": [Interval(Integral, 1, None, closed="left")], "shuffle": ["boolean"], "dict_init": [None, np.ndarray], "transform_algorithm": [ @@ -2131,7 +2096,7 @@ def __init__( max_iter=None, fit_algorithm="lars", n_jobs=None, - batch_size="warn", + batch_size=256, shuffle=True, dict_init=None, transform_algorithm="omp", @@ -2173,27 +2138,6 @@ def __init__( self.max_no_improvement = max_no_improvement self.tol = tol - @deprecated( # type: ignore - "The attribute `iter_offset_` is deprecated in 1.1 and will be removed in 1.3." - ) - @property - def iter_offset_(self): - return self.n_iter_ - - @deprecated( # type: ignore - "The attribute `random_state_` is deprecated in 1.1 and will be removed in 1.3." - ) - @property - def random_state_(self): - return self._random_state - - @deprecated( # type: ignore - "The attribute `inner_stats_` is deprecated in 1.1 and will be removed in 1.3." - ) - @property - def inner_stats_(self): - return self._inner_stats - def _check_params(self, X): # n_components self._n_components = self.n_components @@ -2205,8 +2149,7 @@ def _check_params(self, X): self._fit_algorithm = "lasso_" + self.fit_algorithm # batch_size - if hasattr(self, "_batch_size"): - self._batch_size = min(self._batch_size, X.shape[0]) + self._batch_size = min(self.batch_size, X.shape[0]) def _initialize_dict(self, X, random_state): """Initialization of the dictionary.""" @@ -2245,11 +2188,10 @@ def _update_inner_stats(self, X, code, batch_size, step): theta = batch_size**2 + step + 1 - batch_size beta = (theta + 1 - batch_size) / (theta + 1) - A, B = self._inner_stats - A *= beta - A += code.T @ code - B *= beta - B += X.T @ code + self._A *= beta + self._A += code.T @ code + self._B *= beta + self._B += X.T @ code def _minibatch_step(self, X, dictionary, random_state, step): """Perform the update on the dictionary for one minibatch.""" @@ -2277,13 +2219,12 @@ def _minibatch_step(self, X, dictionary, random_state, step): self._update_inner_stats(X, code, batch_size, step) # Update dictionary - A, B = self._inner_stats _update_dict( dictionary, X, code, - A, - B, + self._A, + self._B, verbose=self.verbose, random_state=random_state, positive=self.positive_dict, @@ -2378,14 +2319,6 @@ def fit(self, X, y=None): """ self._validate_params() - self._batch_size = self.batch_size - if self.batch_size == "warn": - warnings.warn( - "The default value of batch_size will change from 3 to 256 in 1.3.", - FutureWarning, - ) - self._batch_size = 3 - X = self._validate_data( X, dtype=[np.float64, np.float32], order="C", copy=False ) @@ -2419,10 +2352,10 @@ def fit(self, X, y=None): print("[dict_learning]") # Inner stats - self._inner_stats = ( - np.zeros((self._n_components, self._n_components), dtype=X_train.dtype), - np.zeros((n_features, self._n_components), dtype=X_train.dtype), + self._A = np.zeros( + (self._n_components, self._n_components), dtype=X_train.dtype ) + self._B = np.zeros((n_features, self._n_components), dtype=X_train.dtype) if self.max_iter is not None: @@ -2483,7 +2416,7 @@ def fit(self, X, y=None): return self - def partial_fit(self, X, y=None, iter_offset="deprecated"): + def partial_fit(self, X, y=None): """Update the model using the data in X as a mini-batch. Parameters @@ -2495,15 +2428,6 @@ def partial_fit(self, X, y=None, iter_offset="deprecated"): y : Ignored Not used, present for API consistency by convention. - iter_offset : int, default=None - The number of iteration on data batches that has been - performed before this call to `partial_fit`. This is optional: - if no number is passed, the memory of the object is - used. - - .. deprecated:: 1.1 - ``iter_offset`` will be removed in 1.3. - Returns ------- self : object @@ -2518,16 +2442,6 @@ def partial_fit(self, X, y=None, iter_offset="deprecated"): X, dtype=[np.float64, np.float32], order="C", reset=not has_components ) - if iter_offset != "deprecated": - warnings.warn( - "'iter_offset' is deprecated in version 1.1 and " - "will be removed in version 1.3", - FutureWarning, - ) - self.n_steps_ = iter_offset - else: - self.n_steps_ = getattr(self, "n_steps_", 0) - if not has_components: # This instance has not been fitted yet (fit or partial_fit) self._check_params(X) @@ -2535,10 +2449,10 @@ def partial_fit(self, X, y=None, iter_offset="deprecated"): dictionary = self._initialize_dict(X, self._random_state) - self._inner_stats = ( - np.zeros((self._n_components, self._n_components), dtype=X.dtype), - np.zeros((X.shape[1], self._n_components), dtype=X.dtype), - ) + self.n_steps_ = 0 + + self._A = np.zeros((self._n_components, self._n_components), dtype=X.dtype) + self._B = np.zeros((X.shape[1], self._n_components), dtype=X.dtype) else: dictionary = self.components_ diff --git a/sklearn/decomposition/tests/test_dict_learning.py b/sklearn/decomposition/tests/test_dict_learning.py index 2312363644d23..df54a35e968f2 100644 --- a/sklearn/decomposition/tests/test_dict_learning.py +++ b/sklearn/decomposition/tests/test_dict_learning.py @@ -653,38 +653,9 @@ def test_sparse_coder_n_features_in(): assert sc.n_features_in_ == d.shape[1] -@pytest.mark.parametrize("attr", ["iter_offset_", "inner_stats_", "random_state_"]) -def test_minibatch_dict_learning_deprecated_attributes(attr): - # check that we raise a deprecation warning when accessing the deprecated - # attributes of MiniBatchDictionaryLearning - # FIXME: remove in 1.3 - depr_msg = ( - f"The attribute `{attr}` is deprecated in 1.1 and will be removed in 1.3." - ) - est = MiniBatchDictionaryLearning( - n_components=2, batch_size=4, max_iter=1, random_state=0 - ) - est.fit(X) - - with pytest.warns(FutureWarning, match=depr_msg): - getattr(est, attr) - - -def test_minibatch_dict_learning_partial_fit_iter_offset_deprecated(): - # check the deprecation warning of iter_offset in partial_fit - # FIXME: remove in 1.3 - depr_msg = ( - "'iter_offset' is deprecated in version 1.1 and will be removed in version 1.3" - ) - est = MiniBatchDictionaryLearning(n_components=2, batch_size=4, random_state=0) - - with pytest.warns(FutureWarning, match=depr_msg): - est.partial_fit(X, iter_offset=0) - - def test_minibatch_dict_learning_n_iter_deprecated(): # check the deprecation warning of n_iter - # FIXME: remove in 1.3 + # TODO(1.4) remove depr_msg = ( "'n_iter' is deprecated in version 1.1 and will be removed in version 1.4" ) @@ -709,9 +680,9 @@ def test_minibatch_dict_learning_n_iter_deprecated(): def test_dict_learning_online_deprecated_args(arg, val): # check the deprecation warning for the deprecated args of # dict_learning_online - # FIXME: remove in 1.3 + # TODO(1.4) remove depr_msg = ( - f"'{arg}' is deprecated in version 1.1 and will be removed in version 1.3." + f"'{arg}' is deprecated in version 1.1 and will be removed in version 1.4." ) with pytest.warns(FutureWarning, match=depr_msg): @@ -720,17 +691,6 @@ def test_dict_learning_online_deprecated_args(arg, val): ) -def test_batch_size_default_value_future_warning(): - # Check that a FutureWarning is raised if batch_size is left to its default value. - # FIXME: remove in 1.3 - msg = "The default value of batch_size will change" - with pytest.warns(FutureWarning, match=msg): - dict_learning_online(X, n_components=2, random_state=0) - - with pytest.warns(FutureWarning, match=msg): - MiniBatchDictionaryLearning(n_components=2, random_state=0).fit(X) - - def test_update_dict(): # Check the dict update in batch mode vs online mode # Non-regression test for #4866 @@ -754,7 +714,7 @@ def test_update_dict(): assert_allclose(newd_batch, newd_online) -# FIXME: remove in 1.3 +# TODO(1.4) remove def test_dict_learning_online_n_iter_deprecated(): # Check that an error is raised when a deprecated argument is set when max_iter # is also set. @@ -879,8 +839,8 @@ def test_minibatch_dictionary_learning_dtype_match( assert dict_learner.components_.dtype == expected_type assert dict_learner.transform(X.astype(data_type)).dtype == expected_type - assert dict_learner._inner_stats[0].dtype == expected_type - assert dict_learner._inner_stats[1].dtype == expected_type + assert dict_learner._A.dtype == expected_type + assert dict_learner._B.dtype == expected_type @pytest.mark.parametrize("method", ("lars", "cd")) From 4a4eee4a42c3f9b49f5c733240b7d26de4f969b7 Mon Sep 17 00:00:00 2001 From: Ashwin Mathur <97467100+awinml@users.noreply.github.com> Date: Thu, 12 Jan 2023 14:42:01 +0530 Subject: [PATCH 11/27] FEA Store the GradientBoosting OOB Scores in the `oob_score(s)_` fitted attributes (#24882) Co-authored-by: Julien Jerphanion Co-authored-by: Guillaume Lemaitre --- doc/whats_new/v1.3.rst | 4 + sklearn/ensemble/_gb.py | 59 +++++-- .../ensemble/tests/test_gradient_boosting.py | 147 ++++++++++++++++-- 3 files changed, 184 insertions(+), 26 deletions(-) diff --git a/doc/whats_new/v1.3.rst b/doc/whats_new/v1.3.rst index e62a238468dc3..78e88bf60ce19 100644 --- a/doc/whats_new/v1.3.rst +++ b/doc/whats_new/v1.3.rst @@ -96,6 +96,10 @@ Changelog :class:`ensemble.ExtraTreesClassifier` and :class:`ensemble.ExtraTreesRegressor`. :pr:`25177` by :user:`Tim Head `. +- |Feature| :class:`ensemble.GradientBoostingClassifier` now exposes + out-of-bag scores via the `oob_scores_` or `oob_score_` attributes. + :pr:`24882` by :user:`Ashwin Mathur `. + :mod:`sklearn.feature_extraction` ................................. diff --git a/sklearn/ensemble/_gb.py b/sklearn/ensemble/_gb.py index ab123076ee72e..d80366141bdf9 100644 --- a/sklearn/ensemble/_gb.py +++ b/sklearn/ensemble/_gb.py @@ -335,6 +335,8 @@ def _init_state(self): # do oob? if self.subsample < 1.0: self.oob_improvement_ = np.zeros((self.n_estimators), dtype=np.float64) + self.oob_scores_ = np.zeros((self.n_estimators), dtype=np.float64) + self.oob_score_ = np.nan def _clear_state(self): """Clear the state of the gradient boosting model.""" @@ -344,6 +346,10 @@ def _clear_state(self): del self.train_score_ if hasattr(self, "oob_improvement_"): del self.oob_improvement_ + if hasattr(self, "oob_scores_"): + del self.oob_scores_ + if hasattr(self, "oob_score_"): + del self.oob_score_ if hasattr(self, "init_"): del self.init_ if hasattr(self, "_rng"): @@ -369,10 +375,14 @@ def _resize_state(self): self.oob_improvement_ = np.resize( self.oob_improvement_, total_n_estimators ) + self.oob_scores_ = np.resize(self.oob_scores_, total_n_estimators) + self.oob_score_ = np.nan else: self.oob_improvement_ = np.zeros( (total_n_estimators,), dtype=np.float64 ) + self.oob_scores_ = np.zeros((total_n_estimators,), dtype=np.float64) + self.oob_score_ = np.nan def _is_initialized(self): return len(getattr(self, "estimators_", [])) > 0 @@ -553,8 +563,10 @@ def fit(self, X, y, sample_weight=None, monitor=None): self.estimators_ = self.estimators_[:n_stages] self.train_score_ = self.train_score_[:n_stages] if hasattr(self, "oob_improvement_"): + # OOB scores were computed self.oob_improvement_ = self.oob_improvement_[:n_stages] - + self.oob_scores_ = self.oob_scores_[:n_stages] + self.oob_score_ = self.oob_scores_[-1] self.n_estimators_ = n_stages return self @@ -604,12 +616,12 @@ def _fit_stages( # subsampling if do_oob: sample_mask = _random_sample_mask(n_samples, n_inbag, random_state) - # OOB score before adding this stage - old_oob_score = loss_( - y[~sample_mask], - raw_predictions[~sample_mask], - sample_weight[~sample_mask], - ) + if i == 0: # store the initial loss to compute the OOB score + initial_loss = loss_( + y[~sample_mask], + raw_predictions[~sample_mask], + sample_weight[~sample_mask], + ) # fit next stage of trees raw_predictions = self._fit_stage( @@ -631,11 +643,14 @@ def _fit_stages( raw_predictions[sample_mask], sample_weight[sample_mask], ) - self.oob_improvement_[i] = old_oob_score - loss_( + self.oob_scores_[i] = loss_( y[~sample_mask], raw_predictions[~sample_mask], sample_weight[~sample_mask], ) + previous_loss = initial_loss if i == 0 else self.oob_scores_[i - 1] + self.oob_improvement_[i] = previous_loss - self.oob_scores_[i] + self.oob_score_ = self.oob_scores_[-1] else: # no need to fancy index w/ no subsampling self.train_score_[i] = loss_(y, raw_predictions, sample_weight) @@ -1073,7 +1088,19 @@ class GradientBoostingClassifier(ClassifierMixin, BaseGradientBoosting): relative to the previous iteration. ``oob_improvement_[0]`` is the improvement in loss of the first stage over the ``init`` estimator. - Only available if ``subsample < 1.0`` + Only available if ``subsample < 1.0``. + + oob_scores_ : ndarray of shape (n_estimators,) + The full history of the loss (= deviance) values on the out-of-bag + samples. Only available if `subsample < 1.0`. + + .. versionadded:: 1.3 + + oob_score_ : float + The last value of the loss (= deviance) on the out-of-bag samples. It is + the same as `oob_scores_[-1]`. Only available if `subsample < 1.0`. + + .. versionadded:: 1.3 train_score_ : ndarray of shape (n_estimators,) The i-th score ``train_score_[i]`` is the deviance (= loss) of the @@ -1635,7 +1662,19 @@ class GradientBoostingRegressor(RegressorMixin, BaseGradientBoosting): relative to the previous iteration. ``oob_improvement_[0]`` is the improvement in loss of the first stage over the ``init`` estimator. - Only available if ``subsample < 1.0`` + Only available if ``subsample < 1.0``. + + oob_scores_ : ndarray of shape (n_estimators,) + The full history of the loss (= deviance) values on the out-of-bag + samples. Only available if `subsample < 1.0`. + + .. versionadded:: 1.3 + + oob_score_ : float + The last value of the loss (= deviance) on the out-of-bag samples. It is + the same as `oob_scores_[-1]`. Only available if `subsample < 1.0`. + + .. versionadded:: 1.3 train_score_ : ndarray of shape (n_estimators,) The i-th score ``train_score_[i]`` is the deviance (= loss) of the diff --git a/sklearn/ensemble/tests/test_gradient_boosting.py b/sklearn/ensemble/tests/test_gradient_boosting.py index 4e90f5ce54e67..be60be7461e7a 100644 --- a/sklearn/ensemble/tests/test_gradient_boosting.py +++ b/sklearn/ensemble/tests/test_gradient_boosting.py @@ -578,37 +578,98 @@ def test_mem_layout(): assert 100 == len(clf.estimators_) -def test_oob_improvement(): +@pytest.mark.parametrize("GradientBoostingEstimator", GRADIENT_BOOSTING_ESTIMATORS) +def test_oob_improvement(GradientBoostingEstimator): # Test if oob improvement has correct shape and regression test. - clf = GradientBoostingClassifier(n_estimators=100, random_state=1, subsample=0.5) - clf.fit(X, y) - assert clf.oob_improvement_.shape[0] == 100 + estimator = GradientBoostingEstimator( + n_estimators=100, random_state=1, subsample=0.5 + ) + estimator.fit(X, y) + assert estimator.oob_improvement_.shape[0] == 100 # hard-coded regression test - change if modification in OOB computation assert_array_almost_equal( - clf.oob_improvement_[:5], np.array([0.19, 0.15, 0.12, -0.12, -0.11]), decimal=2 + estimator.oob_improvement_[:5], + np.array([0.19, 0.15, 0.12, -0.11, 0.11]), + decimal=2, ) -def test_oob_improvement_raise(): - # Test if oob improvement has correct shape. - clf = GradientBoostingClassifier(n_estimators=100, random_state=1, subsample=1.0) - clf.fit(X, y) +@pytest.mark.parametrize("GradientBoostingEstimator", GRADIENT_BOOSTING_ESTIMATORS) +def test_oob_scores(GradientBoostingEstimator): + # Test if oob scores has correct shape and regression test. + X, y = datasets.make_hastie_10_2(n_samples=100, random_state=1) + estimator = GradientBoostingEstimator( + n_estimators=100, random_state=1, subsample=0.5 + ) + estimator.fit(X, y) + assert estimator.oob_scores_.shape[0] == 100 + assert estimator.oob_scores_[-1] == pytest.approx(estimator.oob_score_) + + estimator = GradientBoostingEstimator( + n_estimators=100, + random_state=1, + subsample=0.5, + n_iter_no_change=5, + ) + estimator.fit(X, y) + assert estimator.oob_scores_.shape[0] < 100 + assert estimator.oob_scores_[-1] == pytest.approx(estimator.oob_score_) + + +@pytest.mark.parametrize( + "GradientBoostingEstimator, oob_attribute", + [ + (GradientBoostingClassifier, "oob_improvement_"), + (GradientBoostingClassifier, "oob_scores_"), + (GradientBoostingClassifier, "oob_score_"), + (GradientBoostingRegressor, "oob_improvement_"), + (GradientBoostingRegressor, "oob_scores_"), + (GradientBoostingRegressor, "oob_score_"), + ], +) +def test_oob_attributes_error(GradientBoostingEstimator, oob_attribute): + """ + Check that we raise an AttributeError when the OOB statistics were not computed. + """ + X, y = datasets.make_hastie_10_2(n_samples=100, random_state=1) + estimator = GradientBoostingEstimator( + n_estimators=100, + random_state=1, + subsample=1.0, + ) + estimator.fit(X, y) with pytest.raises(AttributeError): - clf.oob_improvement_ + estimator.oob_attribute def test_oob_multilcass_iris(): # Check OOB improvement on multi-class dataset. - clf = GradientBoostingClassifier( + estimator = GradientBoostingClassifier( n_estimators=100, loss="log_loss", random_state=1, subsample=0.5 ) - clf.fit(iris.data, iris.target) - score = clf.score(iris.data, iris.target) + estimator.fit(iris.data, iris.target) + score = estimator.score(iris.data, iris.target) assert score > 0.9 - assert clf.oob_improvement_.shape[0] == clf.n_estimators + assert estimator.oob_improvement_.shape[0] == estimator.n_estimators + assert estimator.oob_scores_.shape[0] == estimator.n_estimators + assert estimator.oob_scores_[-1] == pytest.approx(estimator.oob_score_) + + estimator = GradientBoostingClassifier( + n_estimators=100, + loss="log_loss", + random_state=1, + subsample=0.5, + n_iter_no_change=5, + ) + estimator.fit(iris.data, iris.target) + score = estimator.score(iris.data, iris.target) + assert estimator.oob_improvement_.shape[0] < estimator.n_estimators + assert estimator.oob_scores_.shape[0] < estimator.n_estimators + assert estimator.oob_scores_[-1] == pytest.approx(estimator.oob_score_) + # hard-coded regression test - change if modification in OOB computation # FIXME: the following snippet does not yield the same results on 32 bits - # assert_array_almost_equal(clf.oob_improvement_[:5], + # assert_array_almost_equal(estimator.oob_improvement_[:5], # np.array([12.68, 10.45, 8.18, 6.43, 5.13]), # decimal=2) @@ -743,6 +804,38 @@ def test_warm_start_clear(Cls): assert_array_almost_equal(est_2.predict(X), est.predict(X)) +@pytest.mark.parametrize("GradientBoosting", GRADIENT_BOOSTING_ESTIMATORS) +def test_warm_start_state_oob_scores(GradientBoosting): + """ + Check that the states of the OOB scores are cleared when used with `warm_start`. + """ + X, y = datasets.make_hastie_10_2(n_samples=100, random_state=1) + n_estimators = 100 + estimator = GradientBoosting( + n_estimators=n_estimators, + max_depth=1, + subsample=0.5, + warm_start=True, + random_state=1, + ) + estimator.fit(X, y) + oob_scores, oob_score = estimator.oob_scores_, estimator.oob_score_ + assert len(oob_scores) == n_estimators + assert oob_scores[-1] == pytest.approx(oob_score) + + n_more_estimators = 200 + estimator.set_params(n_estimators=n_more_estimators).fit(X, y) + assert len(estimator.oob_scores_) == n_more_estimators + assert_allclose(estimator.oob_scores_[:n_estimators], oob_scores) + + estimator.set_params(n_estimators=n_estimators, warm_start=False).fit(X, y) + assert estimator.oob_scores_ is not oob_scores + assert estimator.oob_score_ is not oob_score + assert_allclose(estimator.oob_scores_, oob_scores) + assert estimator.oob_score_ == pytest.approx(oob_score) + assert oob_scores[-1] == pytest.approx(oob_score) + + @pytest.mark.parametrize("Cls", GRADIENT_BOOSTING_ESTIMATORS) def test_warm_start_smaller_n_estimators(Cls): # Test if warm start with smaller n_estimators raises error @@ -778,8 +871,13 @@ def test_warm_start_oob_switch(Cls): est.fit(X, y) assert_array_equal(est.oob_improvement_[:100], np.zeros(100)) + assert_array_equal(est.oob_scores_[:100], np.zeros(100)) + # the last 10 are not zeros - assert_array_equal(est.oob_improvement_[-10:] == 0.0, np.zeros(10, dtype=bool)) + assert (est.oob_improvement_[-10:] != 0.0).all() + assert (est.oob_scores_[-10:] != 0.0).all() + + assert est.oob_scores_[-1] == pytest.approx(est.oob_score_) @pytest.mark.parametrize("Cls", GRADIENT_BOOSTING_ESTIMATORS) @@ -797,6 +895,9 @@ def test_warm_start_oob(Cls): est_ws.fit(X, y) assert_array_almost_equal(est_ws.oob_improvement_[:100], est.oob_improvement_[:100]) + assert_array_almost_equal(est_ws.oob_scores_[:100], est.oob_scores_[:100]) + assert est.oob_scores_[-1] == pytest.approx(est.oob_score_) + assert est_ws.oob_scores_[-1] == pytest.approx(est_ws.oob_score_) @pytest.mark.parametrize("Cls", GRADIENT_BOOSTING_ESTIMATORS) @@ -832,6 +933,11 @@ def test_warm_start_sparse(Cls): assert_array_almost_equal( est_dense.oob_improvement_[:100], est_sparse.oob_improvement_[:100] ) + assert est_dense.oob_scores_[-1] == pytest.approx(est_dense.oob_score_) + assert_array_almost_equal( + est_dense.oob_scores_[:100], est_sparse.oob_scores_[:100] + ) + assert est_sparse.oob_scores_[-1] == pytest.approx(est_sparse.oob_score_) assert_array_almost_equal(y_pred_dense, y_pred_sparse) @@ -874,6 +980,8 @@ def test_monitor_early_stopping(Cls): assert est.estimators_.shape[0] == 10 assert est.train_score_.shape[0] == 10 assert est.oob_improvement_.shape[0] == 10 + assert est.oob_scores_.shape[0] == 10 + assert est.oob_scores_[-1] == pytest.approx(est.oob_score_) # try refit est.set_params(n_estimators=30) @@ -881,6 +989,9 @@ def test_monitor_early_stopping(Cls): assert est.n_estimators == 30 assert est.estimators_.shape[0] == 30 assert est.train_score_.shape[0] == 30 + assert est.oob_improvement_.shape[0] == 30 + assert est.oob_scores_.shape[0] == 30 + assert est.oob_scores_[-1] == pytest.approx(est.oob_score_) est = Cls( n_estimators=20, max_depth=1, random_state=1, subsample=0.5, warm_start=True @@ -890,6 +1001,8 @@ def test_monitor_early_stopping(Cls): assert est.estimators_.shape[0] == 10 assert est.train_score_.shape[0] == 10 assert est.oob_improvement_.shape[0] == 10 + assert est.oob_scores_.shape[0] == 10 + assert est.oob_scores_[-1] == pytest.approx(est.oob_score_) # try refit est.set_params(n_estimators=30, warm_start=False) @@ -898,6 +1011,8 @@ def test_monitor_early_stopping(Cls): assert est.train_score_.shape[0] == 30 assert est.estimators_.shape[0] == 30 assert est.oob_improvement_.shape[0] == 30 + assert est.oob_scores_.shape[0] == 30 + assert est.oob_scores_[-1] == pytest.approx(est.oob_score_) def test_complete_classification(): From 4af933b741c2bca3d6b9bd33b75c08280d250c5c Mon Sep 17 00:00:00 2001 From: "Thomas J. Fan" Date: Thu, 12 Jan 2023 04:32:23 -0500 Subject: [PATCH 12/27] ENH Adds InconsistentVersionWarning when unpickling version doesn't match (#25297) Co-authored-by: Guillaume Lemaitre --- doc/model_persistence.rst | 13 +++++++++++++ doc/modules/classes.rst | 1 + doc/whats_new/v1.3.rst | 7 +++++++ sklearn/base.py | 13 +++++-------- sklearn/exceptions.py | 35 +++++++++++++++++++++++++++++++++++ sklearn/tests/test_base.py | 9 ++++++++- 6 files changed, 69 insertions(+), 9 deletions(-) diff --git a/doc/model_persistence.rst b/doc/model_persistence.rst index 8f71042b09bb2..9d3d6e941cdc5 100644 --- a/doc/model_persistence.rst +++ b/doc/model_persistence.rst @@ -55,6 +55,19 @@ with:: available `here `_. +When an estimator is unpickled with a scikit-learn version that is inconsistent +with the version the estimator was pickled with, a +:class:`~sklearn.exceptions.InconsistentVersionWarning` is raised. This warning +can be caught to obtain the original version the estimator was pickled with: + + from sklearn.exceptions import InconsistentVersionWarning + warnings.simplefilter("error", InconsistentVersionWarning) + + try: + est = pickle.loads("model_from_prevision_version.pickle") + except InconsistentVersionWarning as w: + print(w.original_sklearn_version) + .. _persistence_limitations: Security & maintainability limitations diff --git a/doc/modules/classes.rst b/doc/modules/classes.rst index d55becb0c512a..74ab932e217bf 100644 --- a/doc/modules/classes.rst +++ b/doc/modules/classes.rst @@ -443,6 +443,7 @@ Samples generator exceptions.DataDimensionalityWarning exceptions.EfficiencyWarning exceptions.FitFailedWarning + exceptions.InconsistentVersionWarning exceptions.NotFittedError exceptions.UndefinedMetricWarning diff --git a/doc/whats_new/v1.3.rst b/doc/whats_new/v1.3.rst index 78e88bf60ce19..ad15238703f46 100644 --- a/doc/whats_new/v1.3.rst +++ b/doc/whats_new/v1.3.rst @@ -100,6 +100,13 @@ Changelog out-of-bag scores via the `oob_scores_` or `oob_score_` attributes. :pr:`24882` by :user:`Ashwin Mathur `. +:mod:`sklearn.exception` +........................ +- |Feature| Added :class:`exception.InconsistentVersionWarning` which is raised + when a scikit-learn estimator is unpickled with a scikit-learn version that is + inconsistent with the sckit-learn verion the estimator was pickled with. + :pr:`25297` by `Thomas Fan`_. + :mod:`sklearn.feature_extraction` ................................. diff --git a/sklearn/base.py b/sklearn/base.py index 97ddd239d9f6e..5a8adf1655e8e 100644 --- a/sklearn/base.py +++ b/sklearn/base.py @@ -19,6 +19,7 @@ from .utils._tags import ( _DEFAULT_TAGS, ) +from .exceptions import InconsistentVersionWarning from .utils.validation import check_X_y from .utils.validation import check_array from .utils.validation import _check_y @@ -297,15 +298,11 @@ def __setstate__(self, state): pickle_version = state.pop("_sklearn_version", "pre-0.18") if pickle_version != __version__: warnings.warn( - "Trying to unpickle estimator {0} from version {1} when " - "using version {2}. This might lead to breaking code or " - "invalid results. Use at your own risk. " - "For more info please refer to:\n" - "https://scikit-learn.org/stable/model_persistence.html" - "#security-maintainability-limitations".format( - self.__class__.__name__, pickle_version, __version__ + InconsistentVersionWarning( + estimator_name=self.__class__.__name__, + current_sklearn_version=__version__, + original_sklearn_version=pickle_version, ), - UserWarning, ) try: super().__setstate__(state) diff --git a/sklearn/exceptions.py b/sklearn/exceptions.py index d84c1f6b40526..627190b848f8e 100644 --- a/sklearn/exceptions.py +++ b/sklearn/exceptions.py @@ -128,3 +128,38 @@ class PositiveSpectrumWarning(UserWarning): .. versionadded:: 0.22 """ + + +class InconsistentVersionWarning(UserWarning): + """Warning raised when an estimator is unpickled with a inconsistent version. + + Parameters + ---------- + estimator_name : str + Estimator name. + + current_sklearn_version : str + Current scikit-learn version. + + original_sklearn_version : str + Original scikit-learn version. + """ + + def __init__( + self, *, estimator_name, current_sklearn_version, original_sklearn_version + ): + self.estimator_name = estimator_name + self.current_sklearn_version = current_sklearn_version + self.original_sklearn_version = original_sklearn_version + + def __str__(self): + return ( + f"Trying to unpickle estimator {self.estimator_name} from version" + f" {self.original_sklearn_version} when " + f"using version {self.current_sklearn_version}. This might lead to breaking" + " code or " + "invalid results. Use at your own risk. " + "For more info please refer to:\n" + "https://scikit-learn.org/stable/model_persistence.html" + "#security-maintainability-limitations" + ) diff --git a/sklearn/tests/test_base.py b/sklearn/tests/test_base.py index 226f1fd735322..2a66df294b554 100644 --- a/sklearn/tests/test_base.py +++ b/sklearn/tests/test_base.py @@ -22,6 +22,7 @@ from sklearn.tree import DecisionTreeClassifier from sklearn.tree import DecisionTreeRegressor from sklearn import datasets +from sklearn.exceptions import InconsistentVersionWarning from sklearn.base import TransformerMixin from sklearn.utils._mocking import MockDataFrame @@ -397,9 +398,15 @@ def test_pickle_version_warning_is_issued_upon_different_version(): old_version="something", current_version=sklearn.__version__, ) - with pytest.warns(UserWarning, match=message): + with pytest.warns(UserWarning, match=message) as warning_record: pickle.loads(tree_pickle_other) + message = warning_record.list[0].message + assert isinstance(message, InconsistentVersionWarning) + assert message.estimator_name == "TreeBadVersion" + assert message.original_sklearn_version == "something" + assert message.current_sklearn_version == sklearn.__version__ + class TreeNoVersion(DecisionTreeClassifier): def __getstate__(self): From ea03b3ee08c87d8be4580554e48f737230dec4ee Mon Sep 17 00:00:00 2001 From: Mario Kostelac Date: Thu, 12 Jan 2023 11:20:26 +0100 Subject: [PATCH 13/27] ENH Add feature_name_combiner to OneHotEncoder (#22506) Co-authored-by: Thomas J. Fan Co-authored-by: Christian Lorentzen Co-authored-by: Guillaume Lemaitre Co-authored-by: Chiara Marmo --- doc/whats_new/v1.3.rst | 7 +++ sklearn/preprocessing/_encoders.py | 45 +++++++++++++++++++- sklearn/preprocessing/tests/test_encoders.py | 26 +++++++++++ 3 files changed, 77 insertions(+), 1 deletion(-) diff --git a/doc/whats_new/v1.3.rst b/doc/whats_new/v1.3.rst index ad15238703f46..fa6d3461d3c78 100644 --- a/doc/whats_new/v1.3.rst +++ b/doc/whats_new/v1.3.rst @@ -144,6 +144,13 @@ Changelog :mod:`sklearn.preprocessing` ............................ + +- |Enhancement| Adds a `feature_name_combiner` parameter to + :class:`preprocessing.OneHotEncoder`. This specifies a custom callable to create + feature names to be returned by :meth:`get_feature_names_out`. + The callable combines input arguments `(input_feature, category)` to a string. + :pr:`22506` by :user:`Mario Kostelac `. + - |Enhancement| Added support for `sample_weight` in :class:`preprocessing.KBinsDiscretizer`. This allows specifying the parameter `sample_weight` for each sample to be used while fitting. The option is only diff --git a/sklearn/preprocessing/_encoders.py b/sklearn/preprocessing/_encoders.py index 67f3aa32d9f06..b8665f8be7b59 100644 --- a/sklearn/preprocessing/_encoders.py +++ b/sklearn/preprocessing/_encoders.py @@ -343,6 +343,17 @@ class OneHotEncoder(_BaseEncoder): .. versionadded:: 1.1 Read more in the :ref:`User Guide `. + feature_name_combiner : "concat" or callable, default="concat" + Callable with signature `def callable(input_feature, category)` that returns a + string. This is used to create feature names to be returned by + :meth:`get_feature_names_out`. + + `"concat"` concatenates encoded feature name and category with + `feature + "_" + str(category)`.E.g. feature X with values 1, 6, 7 create + feature names `X_1, X_6, X_7`. + + .. versionadded:: 1.3 + Attributes ---------- categories_ : list of arrays @@ -388,6 +399,13 @@ class OneHotEncoder(_BaseEncoder): .. versionadded:: 1.0 + feature_name_combiner : callable or None + Callable with signature `def callable(input_feature, category)` that returns a + string. This is used to create feature names to be returned by + :meth:`get_feature_names_out`. + + .. versionadded:: 1.3 + See Also -------- OrdinalEncoder : Performs an ordinal (integer) @@ -442,6 +460,15 @@ class OneHotEncoder(_BaseEncoder): array([[0., 1., 0., 0.], [1., 0., 1., 0.]]) + One can change the way feature names are created. + + >>> def custom_combiner(feature, category): + ... return str(feature) + "_" + type(category).__name__ + "_" + str(category) + >>> custom_fnames_enc = OneHotEncoder(feature_name_combiner=custom_combiner).fit(X) + >>> custom_fnames_enc.get_feature_names_out() + array(['x0_str_Female', 'x0_str_Male', 'x1_int_1', 'x1_int_2', 'x1_int_3'], + dtype=object) + Infrequent categories are enabled by setting `max_categories` or `min_frequency`. >>> import numpy as np @@ -467,6 +494,7 @@ class OneHotEncoder(_BaseEncoder): ], "sparse": [Hidden(StrOptions({"deprecated"})), "boolean"], # deprecated "sparse_output": ["boolean"], + "feature_name_combiner": [StrOptions({"concat"}), callable], } def __init__( @@ -480,6 +508,7 @@ def __init__( handle_unknown="error", min_frequency=None, max_categories=None, + feature_name_combiner="concat", ): self.categories = categories # TODO(1.4): Remove self.sparse @@ -490,6 +519,7 @@ def __init__( self.drop = drop self.min_frequency = min_frequency self.max_categories = max_categories + self.feature_name_combiner = feature_name_combiner @property def infrequent_categories_(self): @@ -1060,13 +1090,26 @@ def get_feature_names_out(self, input_features=None): for i, _ in enumerate(self.categories_) ] + name_combiner = self._check_get_feature_name_combiner() feature_names = [] for i in range(len(cats)): - names = [input_features[i] + "_" + str(t) for t in cats[i]] + names = [name_combiner(input_features[i], t) for t in cats[i]] feature_names.extend(names) return np.array(feature_names, dtype=object) + def _check_get_feature_name_combiner(self): + if self.feature_name_combiner == "concat": + return lambda feature, category: feature + "_" + str(category) + else: # callable + dry_run_combiner = self.feature_name_combiner("feature", "category") + if not isinstance(dry_run_combiner, str): + raise TypeError( + "When `feature_name_combiner` is a callable, it should return a " + f"Python string. Got {type(dry_run_combiner)} instead." + ) + return self.feature_name_combiner + class OrdinalEncoder(OneToOneFeatureMixin, _BaseEncoder): """ diff --git a/sklearn/preprocessing/tests/test_encoders.py b/sklearn/preprocessing/tests/test_encoders.py index 866488416c8f4..632a486b6e4b5 100644 --- a/sklearn/preprocessing/tests/test_encoders.py +++ b/sklearn/preprocessing/tests/test_encoders.py @@ -193,6 +193,32 @@ def test_one_hot_encoder_feature_names_unicode(): assert_array_equal(["n👍me_c❤t1", "n👍me_dat2"], feature_names) +def test_one_hot_encoder_custom_feature_name_combiner(): + """Check the behaviour of `feature_name_combiner` as a callable.""" + + def name_combiner(feature, category): + return feature + "_" + repr(category) + + enc = OneHotEncoder(feature_name_combiner=name_combiner) + X = np.array([["None", None]], dtype=object).T + enc.fit(X) + feature_names = enc.get_feature_names_out() + assert_array_equal(["x0_'None'", "x0_None"], feature_names) + feature_names = enc.get_feature_names_out(input_features=["a"]) + assert_array_equal(["a_'None'", "a_None"], feature_names) + + def wrong_combiner(feature, category): + # we should be returning a Python string + return 0 + + enc = OneHotEncoder(feature_name_combiner=wrong_combiner).fit(X) + err_msg = ( + "When `feature_name_combiner` is a callable, it should return a Python string." + ) + with pytest.raises(TypeError, match=err_msg): + enc.get_feature_names_out() + + def test_one_hot_encoder_set_params(): X = np.array([[1, 2]]).T oh = OneHotEncoder() From 76765550b379faf971c52ab03411df93cac67a60 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 12 Jan 2023 11:34:55 +0100 Subject: [PATCH 14/27] TST update warning message issued --- sklearn/utils/tests/test_fixes.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sklearn/utils/tests/test_fixes.py b/sklearn/utils/tests/test_fixes.py index de9242688ef59..7ed94ff1b2beb 100644 --- a/sklearn/utils/tests/test_fixes.py +++ b/sklearn/utils/tests/test_fixes.py @@ -64,14 +64,17 @@ def test_parallel_delayed_warnings(): """Informative warnings should be raised when mixing sklearn and joblib API""" # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel # with joblib.delayed. The config will not be propagated to the workers. - warn_msg = "Use `sklearn.utils.fixes.delayed` for this purpose" + warn_msg = "Use `sklearn.utils.fixes.delayed` to correctly propagate" with pytest.warns(UserWarning, match=warn_msg) as records: Parallel()(joblib.delayed(time.sleep)(0) for _ in range(10)) assert len(records) == 10 # We should issue a warning if one wants to use sklearn.utils.fixes.delayed with # joblib.Parallel - warn_msg = "without using `sklearn.utils.fixes.Parallel`" + warn_msg = ( + "`sklearn.utils.fixes.delayed` should be used with " + "`sklearn.utils.fixes.Parallel` to make it possible to propagate" + ) with pytest.warns(UserWarning, match=warn_msg) as records: joblib.Parallel()(delayed(time.sleep)(0) for _ in range(10)) assert len(records) == 10 From 90ce7d1e664b1dae5293ca3fa0c80c1651f65d3c Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 12 Jan 2023 11:44:55 +0100 Subject: [PATCH 15/27] TST update warning message issued --- sklearn/calibration.py | 2 +- sklearn/cluster/_mean_shift.py | 2 +- sklearn/compose/_column_transformer.py | 2 +- sklearn/covariance/_graph_lasso.py | 2 +- sklearn/decomposition/_dict_learning.py | 2 +- sklearn/decomposition/_lda.py | 2 +- sklearn/ensemble/_bagging.py | 2 +- sklearn/ensemble/_forest.py | 2 +- sklearn/ensemble/_stacking.py | 2 +- sklearn/ensemble/_voting.py | 2 +- sklearn/feature_selection/_rfe.py | 2 +- sklearn/inspection/_permutation_importance.py | 2 +- .../inspection/_plot/partial_dependence.py | 2 +- sklearn/linear_model/_base.py | 2 +- sklearn/linear_model/_coordinate_descent.py | 2 +- sklearn/linear_model/_least_angle.py | 2 +- sklearn/linear_model/_logistic.py | 2 +- sklearn/linear_model/_omp.py | 2 +- sklearn/linear_model/_stochastic_gradient.py | 2 +- sklearn/linear_model/_theil_sen.py | 2 +- sklearn/manifold/_mds.py | 2 +- sklearn/metrics/pairwise.py | 2 +- sklearn/model_selection/_search.py | 2 +- sklearn/model_selection/_validation.py | 2 +- sklearn/multiclass.py | 2 +- sklearn/multioutput.py | 2 +- sklearn/neighbors/_base.py | 4 +- sklearn/neighbors/tests/test_kd_tree.py | 2 +- sklearn/pipeline.py | 2 +- sklearn/tests/test_config.py | 2 +- sklearn/utils/fixes.py | 75 ----------------- sklearn/utils/tests/test_fixes.py | 82 +------------------ sklearn/utils/tests/test_parallel.py | 82 ++++++++++++++++++- 33 files changed, 112 insertions(+), 189 deletions(-) diff --git a/sklearn/calibration.py b/sklearn/calibration.py index 8686ebcc526c2..2c4a33616d22c 100644 --- a/sklearn/calibration.py +++ b/sklearn/calibration.py @@ -35,7 +35,7 @@ ) from .utils.multiclass import check_classification_targets -from .utils.fixes import delayed, Parallel +from .utils.parallel import delayed, Parallel from .utils._param_validation import StrOptions, HasMethods, Hidden from .utils.validation import ( _check_fit_params, diff --git a/sklearn/cluster/_mean_shift.py b/sklearn/cluster/_mean_shift.py index 4973bbae3fca2..731a61de6c5f0 100644 --- a/sklearn/cluster/_mean_shift.py +++ b/sklearn/cluster/_mean_shift.py @@ -21,7 +21,7 @@ from collections import defaultdict from ..utils._param_validation import Interval, validate_params from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils import check_random_state, gen_batches, check_array from ..base import BaseEstimator, ClusterMixin from ..neighbors import NearestNeighbors diff --git a/sklearn/compose/_column_transformer.py b/sklearn/compose/_column_transformer.py index ee1acf3a2143f..6485da45b247b 100644 --- a/sklearn/compose/_column_transformer.py +++ b/sklearn/compose/_column_transformer.py @@ -25,7 +25,7 @@ from ..utils import check_pandas_support from ..utils.metaestimators import _BaseComposition from ..utils.validation import check_array, check_is_fitted, _check_feature_names_in -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel __all__ = ["ColumnTransformer", "make_column_transformer", "make_column_selector"] diff --git a/sklearn/covariance/_graph_lasso.py b/sklearn/covariance/_graph_lasso.py index fa50130807269..dfbb7e75753c5 100644 --- a/sklearn/covariance/_graph_lasso.py +++ b/sklearn/covariance/_graph_lasso.py @@ -22,7 +22,7 @@ check_random_state, check_scalar, ) -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils._param_validation import Interval, StrOptions # mypy error: Module 'sklearn.linear_model' has no attribute '_cd_fast' diff --git a/sklearn/decomposition/_dict_learning.py b/sklearn/decomposition/_dict_learning.py index 1f56cb2fe1625..88517a453cd73 100644 --- a/sklearn/decomposition/_dict_learning.py +++ b/sklearn/decomposition/_dict_learning.py @@ -21,7 +21,7 @@ from ..utils._param_validation import validate_params from ..utils.extmath import randomized_svd, row_norms, svd_flip from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..linear_model import Lasso, orthogonal_mp_gram, LassoLars, Lars diff --git a/sklearn/decomposition/_lda.py b/sklearn/decomposition/_lda.py index e0bc211678fc3..b7ef0af8eafd9 100644 --- a/sklearn/decomposition/_lda.py +++ b/sklearn/decomposition/_lda.py @@ -21,7 +21,7 @@ from ..utils import check_random_state, gen_batches, gen_even_slices from ..utils.validation import check_non_negative from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils._param_validation import Interval, StrOptions from ._online_lda_fast import ( diff --git a/sklearn/ensemble/_bagging.py b/sklearn/ensemble/_bagging.py index 65118d2345995..4586e55a59f97 100644 --- a/sklearn/ensemble/_bagging.py +++ b/sklearn/ensemble/_bagging.py @@ -23,7 +23,7 @@ from ..utils.random import sample_without_replacement from ..utils._param_validation import Interval, HasMethods, StrOptions from ..utils.validation import has_fit_parameter, check_is_fitted, _check_sample_weight -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel __all__ = ["BaggingClassifier", "BaggingRegressor"] diff --git a/sklearn/ensemble/_forest.py b/sklearn/ensemble/_forest.py index 3a1d686081b13..c60a7177133ec 100644 --- a/sklearn/ensemble/_forest.py +++ b/sklearn/ensemble/_forest.py @@ -65,7 +65,7 @@ class calls the ``fit`` method of each sub-estimator on random samples from ..utils import check_random_state, compute_sample_weight from ..exceptions import DataConversionWarning from ._base import BaseEnsemble, _partition_estimators -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils.multiclass import check_classification_targets, type_of_target from ..utils.validation import ( check_is_fitted, diff --git a/sklearn/ensemble/_stacking.py b/sklearn/ensemble/_stacking.py index 11600b95d0faa..e7468ddb5ac22 100644 --- a/sklearn/ensemble/_stacking.py +++ b/sklearn/ensemble/_stacking.py @@ -32,7 +32,7 @@ from ..utils.metaestimators import available_if from ..utils.validation import check_is_fitted from ..utils.validation import column_or_1d -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils._param_validation import HasMethods, StrOptions from ..utils.validation import _check_feature_names_in diff --git a/sklearn/ensemble/_voting.py b/sklearn/ensemble/_voting.py index 7763018758494..97db90fc0c172 100644 --- a/sklearn/ensemble/_voting.py +++ b/sklearn/ensemble/_voting.py @@ -34,7 +34,7 @@ from ..utils._param_validation import StrOptions from ..exceptions import NotFittedError from ..utils._estimator_html_repr import _VisualBlock -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel class _BaseVoting(TransformerMixin, _BaseHeterogeneousEnsemble): diff --git a/sklearn/feature_selection/_rfe.py b/sklearn/feature_selection/_rfe.py index 2d2dc9176e9cb..d105ba1ae3567 100644 --- a/sklearn/feature_selection/_rfe.py +++ b/sklearn/feature_selection/_rfe.py @@ -16,7 +16,7 @@ from ..utils._param_validation import HasMethods, Interval from ..utils._tags import _safe_tags from ..utils.validation import check_is_fitted -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..base import BaseEstimator from ..base import MetaEstimatorMixin from ..base import clone diff --git a/sklearn/inspection/_permutation_importance.py b/sklearn/inspection/_permutation_importance.py index 35835c74bdad9..a418cb34b3540 100644 --- a/sklearn/inspection/_permutation_importance.py +++ b/sklearn/inspection/_permutation_importance.py @@ -9,7 +9,7 @@ from ..utils import Bunch, _safe_indexing from ..utils import check_random_state from ..utils import check_array -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel def _weights_scorer(scorer, estimator, X, y, sample_weight): diff --git a/sklearn/inspection/_plot/partial_dependence.py b/sklearn/inspection/_plot/partial_dependence.py index b14d84d0fc1ec..bba8e0dea826f 100644 --- a/sklearn/inspection/_plot/partial_dependence.py +++ b/sklearn/inspection/_plot/partial_dependence.py @@ -15,7 +15,7 @@ from ...utils import check_matplotlib_support # noqa from ...utils import check_random_state from ...utils import _safe_indexing -from ...utils.fixes import delayed, Parallel +from ...utils.parallel import delayed, Parallel from ...utils._encode import _unique diff --git a/sklearn/linear_model/_base.py b/sklearn/linear_model/_base.py index a3ac37257a98b..06039db15b71c 100644 --- a/sklearn/linear_model/_base.py +++ b/sklearn/linear_model/_base.py @@ -40,7 +40,7 @@ from ..utils._seq_dataset import ArrayDataset32, CSRDataset32 from ..utils._seq_dataset import ArrayDataset64, CSRDataset64 from ..utils.validation import check_is_fitted, _check_sample_weight -from ..utils.fixes import delayed +from ..utils.parallel import delayed # TODO: bayesian_ridge_regression and bayesian_regression_ard # should be squashed into its respective objects. diff --git a/sklearn/linear_model/_coordinate_descent.py b/sklearn/linear_model/_coordinate_descent.py index b5fa901bc6f6d..205354a263eaa 100644 --- a/sklearn/linear_model/_coordinate_descent.py +++ b/sklearn/linear_model/_coordinate_descent.py @@ -31,7 +31,7 @@ column_or_1d, ) from ..utils._readonly_array_wrapper import ReadonlyArrayWrapper -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel # mypy error: Module 'sklearn.linear_model' has no attribute '_cd_fast' from . import _cd_fast as cd_fast # type: ignore diff --git a/sklearn/linear_model/_least_angle.py b/sklearn/linear_model/_least_angle.py index a5367a0120689..7ed7b27811ec6 100644 --- a/sklearn/linear_model/_least_angle.py +++ b/sklearn/linear_model/_least_angle.py @@ -27,7 +27,7 @@ from ..utils._param_validation import Hidden, Interval, StrOptions from ..model_selection import check_cv from ..exceptions import ConvergenceWarning -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel SOLVE_TRIANGULAR_ARGS = {"check_finite": False} diff --git a/sklearn/linear_model/_logistic.py b/sklearn/linear_model/_logistic.py index 4ff05274e592d..cfd2978add859 100644 --- a/sklearn/linear_model/_logistic.py +++ b/sklearn/linear_model/_logistic.py @@ -34,7 +34,7 @@ from ..utils.optimize import _newton_cg, _check_optimize_result from ..utils.validation import check_is_fitted, _check_sample_weight from ..utils.multiclass import check_classification_targets -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils._param_validation import StrOptions, Interval from ..model_selection import check_cv from ..metrics import get_scorer diff --git a/sklearn/linear_model/_omp.py b/sklearn/linear_model/_omp.py index 2e0ec1dfbd19e..f0bd04568c473 100644 --- a/sklearn/linear_model/_omp.py +++ b/sklearn/linear_model/_omp.py @@ -16,7 +16,7 @@ from ._base import LinearModel, _pre_fit, _deprecate_normalize from ..base import RegressorMixin, MultiOutputMixin from ..utils import as_float_array, check_array -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils._param_validation import Hidden, Interval, StrOptions from ..model_selection import check_cv diff --git a/sklearn/linear_model/_stochastic_gradient.py b/sklearn/linear_model/_stochastic_gradient.py index 560cd8cc7a3bc..1361ef6a1c609 100644 --- a/sklearn/linear_model/_stochastic_gradient.py +++ b/sklearn/linear_model/_stochastic_gradient.py @@ -24,7 +24,7 @@ from ..utils._param_validation import Interval from ..utils._param_validation import StrOptions from ..utils._param_validation import Hidden -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..exceptions import ConvergenceWarning from ..model_selection import StratifiedShuffleSplit, ShuffleSplit diff --git a/sklearn/linear_model/_theil_sen.py b/sklearn/linear_model/_theil_sen.py index 16f4349e8b8e9..67d6ca532a8ab 100644 --- a/sklearn/linear_model/_theil_sen.py +++ b/sklearn/linear_model/_theil_sen.py @@ -21,7 +21,7 @@ from ..base import RegressorMixin from ..utils import check_random_state from ..utils._param_validation import Interval -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..exceptions import ConvergenceWarning _EPSILON = np.finfo(np.double).eps diff --git a/sklearn/manifold/_mds.py b/sklearn/manifold/_mds.py index bb7b6f2d8bdf5..d6f99c84f55f1 100644 --- a/sklearn/manifold/_mds.py +++ b/sklearn/manifold/_mds.py @@ -17,7 +17,7 @@ from ..utils import check_random_state, check_array, check_symmetric from ..isotonic import IsotonicRegression from ..utils._param_validation import Interval, StrOptions, Hidden -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel def _smacof_single( diff --git a/sklearn/metrics/pairwise.py b/sklearn/metrics/pairwise.py index 729c3daafee58..3d01d5eeaf12d 100644 --- a/sklearn/metrics/pairwise.py +++ b/sklearn/metrics/pairwise.py @@ -27,7 +27,7 @@ from ..utils.extmath import row_norms, safe_sparse_dot from ..preprocessing import normalize from ..utils._mask import _get_mask -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils.fixes import sp_version, parse_version from ._pairwise_distances_reduction import ArgKmin diff --git a/sklearn/model_selection/_search.py b/sklearn/model_selection/_search.py index f0c80b91d3d77..7250c65051a4d 100644 --- a/sklearn/model_selection/_search.py +++ b/sklearn/model_selection/_search.py @@ -39,7 +39,7 @@ from ..utils._tags import _safe_tags from ..utils.validation import indexable, check_is_fitted, _check_fit_params from ..utils.metaestimators import available_if -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..metrics._scorer import _check_multimetric_scoring, get_scorer_names from ..metrics import check_scoring diff --git a/sklearn/model_selection/_validation.py b/sklearn/model_selection/_validation.py index a0f5c60566b20..8a626fe1ce1f3 100644 --- a/sklearn/model_selection/_validation.py +++ b/sklearn/model_selection/_validation.py @@ -27,7 +27,7 @@ from ..utils import indexable, check_random_state, _safe_indexing from ..utils.validation import _check_fit_params from ..utils.validation import _num_samples -from ..utils.fixes import delayed, Parallel +from ..utils.parallel import delayed, Parallel from ..utils.metaestimators import _safe_split from ..metrics import check_scoring from ..metrics._scorer import _check_multimetric_scoring, _MultimetricScorer diff --git a/sklearn/multiclass.py b/sklearn/multiclass.py index d6a34008a9e19..f3f69a3c6bbf9 100644 --- a/sklearn/multiclass.py +++ b/sklearn/multiclass.py @@ -56,7 +56,7 @@ _ovr_decision_function, ) from .utils.metaestimators import _safe_split, available_if -from .utils.fixes import delayed, Parallel +from .utils.parallel import delayed, Parallel __all__ = [ "OneVsRestClassifier", diff --git a/sklearn/multioutput.py b/sklearn/multioutput.py index 7eea8a5cf3b0e..4b7015dd40ece 100644 --- a/sklearn/multioutput.py +++ b/sklearn/multioutput.py @@ -30,7 +30,7 @@ has_fit_parameter, _check_fit_params, ) -from .utils.fixes import delayed, Parallel +from .utils.parallel import delayed, Parallel from .utils._param_validation import HasMethods, StrOptions __all__ = [ diff --git a/sklearn/neighbors/_base.py b/sklearn/neighbors/_base.py index dea721e52ef98..2e97bab4a4f8d 100644 --- a/sklearn/neighbors/_base.py +++ b/sklearn/neighbors/_base.py @@ -37,8 +37,8 @@ from ..utils.validation import check_is_fitted from ..utils.validation import check_non_negative from ..utils._param_validation import Interval, StrOptions -from ..utils.fixes import delayed, sp_version, Parallel -from ..utils.fixes import parse_version +from ..utils.parallel import delayed, Parallel +from ..utils.fixes import parse_version, sp_version from ..exceptions import DataConversionWarning, EfficiencyWarning VALID_METRICS = dict( diff --git a/sklearn/neighbors/tests/test_kd_tree.py b/sklearn/neighbors/tests/test_kd_tree.py index 1791b3f0706ba..525c15436e24c 100644 --- a/sklearn/neighbors/tests/test_kd_tree.py +++ b/sklearn/neighbors/tests/test_kd_tree.py @@ -1,6 +1,6 @@ import numpy as np import pytest -from sklearn.utils.fixes import delayed, Parallel +from sklearn.utils.parallel import delayed, Parallel from sklearn.neighbors._kd_tree import KDTree diff --git a/sklearn/pipeline.py b/sklearn/pipeline.py index 5236c4499a728..6a15baae6885c 100644 --- a/sklearn/pipeline.py +++ b/sklearn/pipeline.py @@ -30,7 +30,7 @@ from .utils import check_pandas_support from .utils._param_validation import HasMethods, Hidden from .utils._set_output import _safe_set_output, _get_output_config -from .utils.fixes import delayed +from .utils.parallel import delayed from .exceptions import NotFittedError from .utils.metaestimators import _BaseComposition diff --git a/sklearn/tests/test_config.py b/sklearn/tests/test_config.py index 477fb17ac8d3d..bcc4c233e7ea3 100644 --- a/sklearn/tests/test_config.py +++ b/sklearn/tests/test_config.py @@ -4,7 +4,7 @@ import pytest from sklearn import get_config, set_config, config_context -from sklearn.utils.fixes import delayed, Parallel +from sklearn.utils.parallel import delayed, Parallel def test_config_context(): diff --git a/sklearn/utils/fixes.py b/sklearn/utils/fixes.py index 613b8c86b0af1..9eef334a3f3da 100644 --- a/sklearn/utils/fixes.py +++ b/sklearn/utils/fixes.py @@ -10,19 +10,14 @@ # # License: BSD 3 clause -from functools import update_wrapper from importlib import resources -import functools import sys -import warnings import sklearn import numpy as np -import joblib import scipy import scipy.stats import threadpoolctl -from .._config import config_context, get_config from ..externals._packaging.version import parse as parse_version @@ -108,76 +103,6 @@ def _eigh(*args, **kwargs): return scipy.linalg.eigh(*args, eigvals=eigvals, **kwargs) -def _with_config(delayed_func, config): - """Helper function that intends to attach a config to a delayed function.""" - if hasattr(delayed_func, "with_config"): - return delayed_func.with_config(config) - else: - warnings.warn( - "You are using `sklearn.utils.fixes.Parallel` that intend to attach a " - "configuration to a delayed function. However, the function used for " - "delaying the function does not expose `with_config`. Use " - "`sklearn.utils.fixes.delayed` to correctly propagate the scikit-learn " - "configuration to the joblib workers.", - UserWarning, - ) - return delayed_func - - -class Parallel(joblib.Parallel): - # A tweaked `Parallel` subclass that attaches the configuration of the current - # thread to each task to be run in parallel. - - def __call__(self, iterable): - # Capture the thread-local scikit-learn configuration at the time - # Parallel.__call__ is issued since the tasks can be dispatched - # in a different thread depending on the backend and on the value of - # pre_dispatch and n_jobs. - config = get_config() - iterable_with_config = ( - (_with_config(delayed_func, config), args, kwargs) - for delayed_func, args, kwargs in iterable - ) - return super().__call__(iterable_with_config) - - -# remove when https://github.com/joblib/joblib/issues/1071 is fixed -def delayed(function): - """Decorator used to capture the arguments of a function.""" - - @functools.wraps(function) - def delayed_function(*args, **kwargs): - return _FuncWrapper(function), args, kwargs - - return delayed_function - - -class _FuncWrapper: - """ "Load the global configuration before calling the function.""" - - def __init__(self, function): - self.function = function - update_wrapper(self, self.function) - - def with_config(self, config): - self.config = config - return self - - def __call__(self, *args, **kwargs): - config = getattr(self, "config", None) - if config is None: - warnings.warn( - "`sklearn.utils.fixes.delayed` should be used with " - "`sklearn.utils.fixes.Parallel` to make it possible to propagate " - "the scikit-learn configuration of the current thread to the " - "joblib workers.", - UserWarning, - ) - config = {} - with config_context(**config): - return self.function(*args, **kwargs) - - # Rename the `method` kwarg to `interpolation` for NumPy < 1.22, because # `interpolation` kwarg was deprecated in favor of `method` in NumPy >= 1.22. def _percentile(a, q, *, method="linear", **kwargs): diff --git a/sklearn/utils/tests/test_fixes.py b/sklearn/utils/tests/test_fixes.py index 7ed94ff1b2beb..812c424530269 100644 --- a/sklearn/utils/tests/test_fixes.py +++ b/sklearn/utils/tests/test_fixes.py @@ -4,23 +4,14 @@ # License: BSD 3 clause import math -import time -import joblib import numpy as np import pytest import scipy.stats -from sklearn import config_context, get_config -from sklearn.compose import make_column_transformer -from sklearn.datasets import load_iris -from sklearn.ensemble import RandomForestClassifier -from sklearn.model_selection import GridSearchCV -from sklearn.pipeline import make_pipeline -from sklearn.preprocessing import StandardScaler from sklearn.utils._testing import assert_array_equal -from sklearn.utils.fixes import _object_dtype_isnan, delayed, loguniform, Parallel +from sklearn.utils.fixes import _object_dtype_isnan, loguniform @pytest.mark.parametrize("dtype, val", ([object, 1], [object, "a"], [float, 1])) @@ -54,74 +45,3 @@ def test_loguniform(low, high, base): assert loguniform(base**low, base**high).rvs(random_state=0) == loguniform( base**low, base**high ).rvs(random_state=0) - - -def get_working_memory(): - return get_config()["working_memory"] - - -def test_parallel_delayed_warnings(): - """Informative warnings should be raised when mixing sklearn and joblib API""" - # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel - # with joblib.delayed. The config will not be propagated to the workers. - warn_msg = "Use `sklearn.utils.fixes.delayed` to correctly propagate" - with pytest.warns(UserWarning, match=warn_msg) as records: - Parallel()(joblib.delayed(time.sleep)(0) for _ in range(10)) - assert len(records) == 10 - - # We should issue a warning if one wants to use sklearn.utils.fixes.delayed with - # joblib.Parallel - warn_msg = ( - "`sklearn.utils.fixes.delayed` should be used with " - "`sklearn.utils.fixes.Parallel` to make it possible to propagate" - ) - with pytest.warns(UserWarning, match=warn_msg) as records: - joblib.Parallel()(delayed(time.sleep)(0) for _ in range(10)) - assert len(records) == 10 - - -@pytest.mark.parametrize("n_jobs", [1, 2]) -def test_dispatch_config_parallel(n_jobs): - """Check that we properly dispatch the configuration in parallel processing. - Non-regression test for: - https://github.com/scikit-learn/scikit-learn/issues/25239 - """ - pd = pytest.importorskip("pandas") - iris = load_iris(as_frame=True) - - class TransformerRequiredDataFrame(StandardScaler): - def fit(self, X, y=None): - assert isinstance(X, pd.DataFrame), "X should be a DataFrame" - return super().fit(X, y) - - def transform(self, X, y=None): - assert isinstance(X, pd.DataFrame), "X should be a DataFrame" - return super().transform(X, y) - - dropper = make_column_transformer( - ("drop", [0]), - remainder="passthrough", - n_jobs=n_jobs, - ) - param_grid = {"randomforestclassifier__max_depth": [1, 2, 3]} - search_cv = GridSearchCV( - make_pipeline( - dropper, - TransformerRequiredDataFrame(), - RandomForestClassifier(n_estimators=5, n_jobs=n_jobs), - ), - param_grid, - cv=5, - n_jobs=n_jobs, - error_score="raise", # this search should not fail - ) - - # make sure that `fit` would fail in case we don't request dataframe - with pytest.raises(AssertionError, match="X should be a DataFrame"): - search_cv.fit(iris.data, iris.target) - - with config_context(transform_output="pandas"): - # we expect each intermediate steps to output a DataFrame - search_cv.fit(iris.data, iris.target) - - assert not np.isnan(search_cv.cv_results_["mean_test_score"]).any() diff --git a/sklearn/utils/tests/test_parallel.py b/sklearn/utils/tests/test_parallel.py index 713d1f32146d4..3bf058c08c348 100644 --- a/sklearn/utils/tests/test_parallel.py +++ b/sklearn/utils/tests/test_parallel.py @@ -1,8 +1,19 @@ +import time + +import joblib +import numpy as np import pytest from numpy.testing import assert_array_equal -from sklearn._config import config_context, get_config -from sklearn.utils.fixes import delayed, Parallel +from sklearn import config_context, get_config +from sklearn.compose import make_column_transformer +from sklearn.datasets import load_iris +from sklearn.ensemble import RandomForestClassifier +from sklearn.model_selection import GridSearchCV +from sklearn.pipeline import make_pipeline +from sklearn.preprocessing import StandardScaler + +from sklearn.utils.parallel import delayed, Parallel def get_working_memory(): @@ -20,3 +31,70 @@ def test_configuration_passes_through_to_joblib(n_jobs, backend): ) assert_array_equal(results, [123] * 2) + + +def test_parallel_delayed_warnings(): + """Informative warnings should be raised when mixing sklearn and joblib API""" + # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel + # with joblib.delayed. The config will not be propagated to the workers. + warn_msg = "Use `sklearn.utils.fixes.delayed` to correctly propagate" + with pytest.warns(UserWarning, match=warn_msg) as records: + Parallel()(joblib.delayed(time.sleep)(0) for _ in range(10)) + assert len(records) == 10 + + # We should issue a warning if one wants to use sklearn.utils.fixes.delayed with + # joblib.Parallel + warn_msg = ( + "`sklearn.utils.fixes.delayed` should be used with " + "`sklearn.utils.fixes.Parallel` to make it possible to propagate" + ) + with pytest.warns(UserWarning, match=warn_msg) as records: + joblib.Parallel()(delayed(time.sleep)(0) for _ in range(10)) + assert len(records) == 10 + + +@pytest.mark.parametrize("n_jobs", [1, 2]) +def test_dispatch_config_parallel(n_jobs): + """Check that we properly dispatch the configuration in parallel processing. + Non-regression test for: + https://github.com/scikit-learn/scikit-learn/issues/25239 + """ + pd = pytest.importorskip("pandas") + iris = load_iris(as_frame=True) + + class TransformerRequiredDataFrame(StandardScaler): + def fit(self, X, y=None): + assert isinstance(X, pd.DataFrame), "X should be a DataFrame" + return super().fit(X, y) + + def transform(self, X, y=None): + assert isinstance(X, pd.DataFrame), "X should be a DataFrame" + return super().transform(X, y) + + dropper = make_column_transformer( + ("drop", [0]), + remainder="passthrough", + n_jobs=n_jobs, + ) + param_grid = {"randomforestclassifier__max_depth": [1, 2, 3]} + search_cv = GridSearchCV( + make_pipeline( + dropper, + TransformerRequiredDataFrame(), + RandomForestClassifier(n_estimators=5, n_jobs=n_jobs), + ), + param_grid, + cv=5, + n_jobs=n_jobs, + error_score="raise", # this search should not fail + ) + + # make sure that `fit` would fail in case we don't request dataframe + with pytest.raises(AssertionError, match="X should be a DataFrame"): + search_cv.fit(iris.data, iris.target) + + with config_context(transform_output="pandas"): + # we expect each intermediate steps to output a DataFrame + search_cv.fit(iris.data, iris.target) + + assert not np.isnan(search_cv.cv_results_["mean_test_score"]).any() From b80d5dfca2cdc787301ae2402afa19b6f6829324 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 12 Jan 2023 11:58:54 +0100 Subject: [PATCH 16/27] create a new module --- build_tools/azure/linting.sh | 4 +- sklearn/utils/parallel.py | 104 +++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 sklearn/utils/parallel.py diff --git a/build_tools/azure/linting.sh b/build_tools/azure/linting.sh index 21ef53c8012dc..9c59a72cd7848 100755 --- a/build_tools/azure/linting.sh +++ b/build_tools/azure/linting.sh @@ -34,10 +34,10 @@ then exit 1 fi -joblib_import="$(git grep -l -A 10 -E "joblib import.+delayed" -- "*.py" ":!sklearn/utils/_joblib.py" ":!sklearn/utils/fixes.py")" +joblib_import="$(git grep -l -A 10 -E "joblib import.+delayed" -- "*.py" ":!sklearn/utils/_joblib.py" ":!sklearn/utils/parallel.py")" if [ ! -z "$joblib_import" ]; then - echo "Use from sklearn.utils.fixes import delayed instead of joblib delayed. The following files contains imports to joblib.delayed:" + echo "Use from sklearn.utils.parallel import delayed instead of joblib delayed. The following files contains imports to joblib.delayed:" echo "$joblib_import" exit 1 fi diff --git a/sklearn/utils/parallel.py b/sklearn/utils/parallel.py new file mode 100644 index 0000000000000..c04a09a99f8cc --- /dev/null +++ b/sklearn/utils/parallel.py @@ -0,0 +1,104 @@ +"""Module that customize joblib tools for scikit-learn usage.""" + +import functools +import warnings +from functools import update_wrapper + +import joblib + +from .._config import config_context, get_config + + +def _with_config(delayed_func, config): + """Helper function that intends to attach a config to a delayed function.""" + if hasattr(delayed_func, "with_config"): + return delayed_func.with_config(config) + else: + warnings.warn( + "You are using `sklearn.utils.fixes.Parallel` that intend to attach a " + "configuration to a delayed function. However, the function used for " + "delaying the function does not expose `with_config`. Use " + "`sklearn.utils.fixes.delayed` to correctly propagate the scikit-learn " + "configuration to the joblib workers.", + UserWarning, + ) + return delayed_func + + +class Parallel(joblib.Parallel): + # A tweaked `Parallel` subclass that attaches the configuration of the current + # thread to each task to be run in parallel. + + def __call__(self, iterable): + """Dispatch the tasks and return the results. + + Parameters + ---------- + iterable : iterable + Iterable containing tuples of (delayed_function, args, kwargs) that should + be consumed. + + Returns + ------- + results : list + List of results of the tasks. + """ + # Capture the thread-local scikit-learn configuration at the time + # Parallel.__call__ is issued since the tasks can be dispatched + # in a different thread depending on the backend and on the value of + # pre_dispatch and n_jobs. + config = get_config() + iterable_with_config = ( + (_with_config(delayed_func, config), args, kwargs) + for delayed_func, args, kwargs in iterable + ) + return super().__call__(iterable_with_config) + + +# remove when https://github.com/joblib/joblib/issues/1071 is fixed +def delayed(function): + """Decorator used to capture the arguments of a function. + + Parameters + ---------- + function : callable + The function to be delayed. + + Returns + ------- + output: tuple + Tuple containing the delayed function, the positional arguments, and the + keyword arguments. + """ + + @functools.wraps(function) + def delayed_function(*args, **kwargs): + return _FuncWrapper(function), args, kwargs + + return delayed_function + + +class _FuncWrapper: + """ "Load the global configuration before calling the function.""" + + def __init__(self, function): + self.function = function + update_wrapper(self, self.function) + + def with_config(self, config): + self.config = config + return self + + def __call__(self, *args, **kwargs): + config = getattr(self, "config", None) + if config is None: + warnings.warn( + "`sklearn.utils.fixes.delayed` should be used with " + "`sklearn.utils.fixes.Parallel` to make it possible to propagate " + "the scikit-learn configuration of the current thread to the " + "joblib workers.", + UserWarning, + ) + config = {} + with config_context(**config): + return self.function(*args, **kwargs) From a25add1c6eff46f5968de206fb473b185007f82d Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 12 Jan 2023 12:11:51 +0100 Subject: [PATCH 17/27] DEP deprecate sklearn.utils.fixes.delayed --- sklearn/utils/fixes.py | 12 ++++++++++++ sklearn/utils/parallel.py | 8 ++++---- sklearn/utils/tests/test_fixes.py | 13 ++++++++++++- sklearn/utils/tests/test_parallel.py | 6 +++--- 4 files changed, 31 insertions(+), 8 deletions(-) diff --git a/sklearn/utils/fixes.py b/sklearn/utils/fixes.py index 9eef334a3f3da..76d518724bed7 100644 --- a/sklearn/utils/fixes.py +++ b/sklearn/utils/fixes.py @@ -18,6 +18,8 @@ import scipy import scipy.stats import threadpoolctl + +from .deprecation import deprecated from ..externals._packaging.version import parse as parse_version @@ -151,6 +153,16 @@ def threadpool_info(): threadpool_info.__doc__ = threadpoolctl.threadpool_info.__doc__ +@deprecated( + "The function `delayed` has been moved from `sklearn.utils.fixes` to " + "`sklearn.utils.parallel`. This import path will be removed in 1.5." +) +def delayed(function): + from sklearn.utils.parallel import delayed + + return delayed(function) + + # TODO: Remove when SciPy 1.9 is the minimum supported version def _mode(a, axis=0): if sp_version >= parse_version("1.9.0"): diff --git a/sklearn/utils/parallel.py b/sklearn/utils/parallel.py index c04a09a99f8cc..cd4663c55678d 100644 --- a/sklearn/utils/parallel.py +++ b/sklearn/utils/parallel.py @@ -15,10 +15,10 @@ def _with_config(delayed_func, config): return delayed_func.with_config(config) else: warnings.warn( - "You are using `sklearn.utils.fixes.Parallel` that intend to attach a " + "You are using `sklearn.utils.parallel.Parallel` that intend to attach a " "configuration to a delayed function. However, the function used for " "delaying the function does not expose `with_config`. Use " - "`sklearn.utils.fixes.delayed` to correctly propagate the scikit-learn " + "`sklearn.utils.parallel.delayed` to correctly propagate the scikit-learn " "configuration to the joblib workers.", UserWarning, ) @@ -93,8 +93,8 @@ def __call__(self, *args, **kwargs): config = getattr(self, "config", None) if config is None: warnings.warn( - "`sklearn.utils.fixes.delayed` should be used with " - "`sklearn.utils.fixes.Parallel` to make it possible to propagate " + "`sklearn.utils.parallel.delayed` should be used with " + "`sklearn.utils.parallel.Parallel` to make it possible to propagate " "the scikit-learn configuration of the current thread to the " "joblib workers.", UserWarning, diff --git a/sklearn/utils/tests/test_fixes.py b/sklearn/utils/tests/test_fixes.py index 812c424530269..64db4006b5f1a 100644 --- a/sklearn/utils/tests/test_fixes.py +++ b/sklearn/utils/tests/test_fixes.py @@ -11,7 +11,7 @@ from sklearn.utils._testing import assert_array_equal -from sklearn.utils.fixes import _object_dtype_isnan, loguniform +from sklearn.utils.fixes import _object_dtype_isnan, delayed, loguniform @pytest.mark.parametrize("dtype, val", ([object, 1], [object, "a"], [float, 1])) @@ -45,3 +45,14 @@ def test_loguniform(low, high, base): assert loguniform(base**low, base**high).rvs(random_state=0) == loguniform( base**low, base**high ).rvs(random_state=0) + + +def test_delayed_deprecation(): + """Check that we issue the FutureWarning regarding the deprecation of delayed.""" + + def func(x): + return x + + warn_msg = "The function `delayed` has been moved from `sklearn.utils.fixes`" + with pytest.warns(FutureWarning, match=warn_msg): + delayed(func) diff --git a/sklearn/utils/tests/test_parallel.py b/sklearn/utils/tests/test_parallel.py index 3bf058c08c348..8b55ed078fdbf 100644 --- a/sklearn/utils/tests/test_parallel.py +++ b/sklearn/utils/tests/test_parallel.py @@ -37,7 +37,7 @@ def test_parallel_delayed_warnings(): """Informative warnings should be raised when mixing sklearn and joblib API""" # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel # with joblib.delayed. The config will not be propagated to the workers. - warn_msg = "Use `sklearn.utils.fixes.delayed` to correctly propagate" + warn_msg = "Use `sklearn.utils.parallel.delayed` to correctly propagate" with pytest.warns(UserWarning, match=warn_msg) as records: Parallel()(joblib.delayed(time.sleep)(0) for _ in range(10)) assert len(records) == 10 @@ -45,8 +45,8 @@ def test_parallel_delayed_warnings(): # We should issue a warning if one wants to use sklearn.utils.fixes.delayed with # joblib.Parallel warn_msg = ( - "`sklearn.utils.fixes.delayed` should be used with " - "`sklearn.utils.fixes.Parallel` to make it possible to propagate" + "`sklearn.utils.parallel.delayed` should be used with " + "`sklearn.utils.parallel.Parallel` to make it possible to propagate" ) with pytest.warns(UserWarning, match=warn_msg) as records: joblib.Parallel()(delayed(time.sleep)(0) for _ in range(10)) From 1fd6a88379892671be7d5479407c17c74163ce88 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 12 Jan 2023 15:27:50 +0100 Subject: [PATCH 18/27] DOC add deprecation in changelog --- doc/whats_new/v1.2.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/whats_new/v1.2.rst b/doc/whats_new/v1.2.rst index b02d1a6217ebe..b1b114bbbf153 100644 --- a/doc/whats_new/v1.2.rst +++ b/doc/whats_new/v1.2.rst @@ -54,6 +54,10 @@ Changelog boolean. The type is maintained, instead of converting to `float64.` :pr:`25147` by :user:`Tim Head `. +- |API| :func:`utils.fixes.delayed` is deprecated in 1.2.1 and will be removed + in 1.5. Instead, import :func:`utils.parallel.delayed`. + :pr:`25363` by :user:`Guillaume Lemaitre `. + .. _changes_1_2: Version 1.2.0 From 40155918226d33a123d6fca9068675d1b11adc56 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 13 Jan 2023 11:52:27 +0100 Subject: [PATCH 19/27] MAINT/DOC add Parallel to linter and document parallel module --- build_tools/azure/linting.sh | 13 +++++++++---- doc/modules/classes.rst | 7 +++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/build_tools/azure/linting.sh b/build_tools/azure/linting.sh index 9c59a72cd7848..9cc57c5f06066 100755 --- a/build_tools/azure/linting.sh +++ b/build_tools/azure/linting.sh @@ -34,10 +34,15 @@ then exit 1 fi -joblib_import="$(git grep -l -A 10 -E "joblib import.+delayed" -- "*.py" ":!sklearn/utils/_joblib.py" ":!sklearn/utils/parallel.py")" - -if [ ! -z "$joblib_import" ]; then +joblib_delayed_import="$(git grep -l -A 10 -E "joblib import.+delayed" -- "*.py" ":!sklearn/utils/_joblib.py" ":!sklearn/utils/parallel.py")" +if [ ! -z "$joblib_delayed_import" ]; then echo "Use from sklearn.utils.parallel import delayed instead of joblib delayed. The following files contains imports to joblib.delayed:" - echo "$joblib_import" + echo "$joblib_delayed_import" + exit 1 +fi +joblib_Parallel_import="$(git grep -l -A 10 -E "joblib import.+Parallel" -- "*.py" ":!sklearn/utils/_joblib.py" ":!sklearn/utils/parallel.py")" +if [ ! -z "$joblib_Parallel_import" ]; then + echo "Use from sklearn.utils.parallel import Parallel instead of joblib Parallel. The following files contains imports to joblib.Parallel:" + echo "$joblib_Parallel_import" exit 1 fi diff --git a/doc/modules/classes.rst b/doc/modules/classes.rst index 74ab932e217bf..7ef084875278d 100644 --- a/doc/modules/classes.rst +++ b/doc/modules/classes.rst @@ -1667,9 +1667,16 @@ Utilities from joblib: :toctree: generated/ :template: function.rst + utils.parallel.delayed utils.parallel_backend utils.register_parallel_backend +.. autosummary:: + :toctree: generated/ + :template: class.rst + + utils.parallel.Parallel + Recently deprecated =================== From 32cda571cd8540f806ee7dad2eb9754d292cfe0f Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 13 Jan 2023 12:12:50 +0100 Subject: [PATCH 20/27] missing import Parallel --- benchmarks/bench_saga.py | 3 +-- sklearn/ensemble/tests/test_forest.py | 6 +++--- sklearn/linear_model/_base.py | 3 +-- sklearn/pipeline.py | 3 +-- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/benchmarks/bench_saga.py b/benchmarks/bench_saga.py index 581f7e3881e9e..340549ef240e1 100644 --- a/benchmarks/bench_saga.py +++ b/benchmarks/bench_saga.py @@ -7,8 +7,7 @@ import time import os -from joblib import Parallel -from sklearn.utils.fixes import delayed +from sklearn.utils.parallel import delayed, Parallel import matplotlib.pyplot as plt import numpy as np diff --git a/sklearn/ensemble/tests/test_forest.py b/sklearn/ensemble/tests/test_forest.py index 44de0f560195e..033673a99f8ee 100644 --- a/sklearn/ensemble/tests/test_forest.py +++ b/sklearn/ensemble/tests/test_forest.py @@ -18,16 +18,15 @@ from typing import Dict, Any import numpy as np -from joblib import Parallel from scipy.sparse import csr_matrix from scipy.sparse import csc_matrix from scipy.sparse import coo_matrix from scipy.special import comb -import pytest - import joblib +import pytest + import sklearn from sklearn.dummy import DummyRegressor from sklearn.metrics import mean_poisson_deviance @@ -52,6 +51,7 @@ from sklearn.model_selection import train_test_split, cross_val_score from sklearn.model_selection import GridSearchCV from sklearn.svm import LinearSVC +from sklearn.utils.parallel import Parallel from sklearn.utils.validation import check_random_state from sklearn.metrics import mean_squared_error diff --git a/sklearn/linear_model/_base.py b/sklearn/linear_model/_base.py index 06039db15b71c..987ae57c12250 100644 --- a/sklearn/linear_model/_base.py +++ b/sklearn/linear_model/_base.py @@ -25,7 +25,6 @@ from scipy import sparse from scipy.sparse.linalg import lsqr from scipy.special import expit -from joblib import Parallel from numbers import Integral from ..base import BaseEstimator, ClassifierMixin, RegressorMixin, MultiOutputMixin @@ -40,7 +39,7 @@ from ..utils._seq_dataset import ArrayDataset32, CSRDataset32 from ..utils._seq_dataset import ArrayDataset64, CSRDataset64 from ..utils.validation import check_is_fitted, _check_sample_weight -from ..utils.parallel import delayed +from ..utils.parallel import delayed, Parallel # TODO: bayesian_ridge_regression and bayesian_regression_ard # should be squashed into its respective objects. diff --git a/sklearn/pipeline.py b/sklearn/pipeline.py index 6a15baae6885c..c8ddaa77fc3a0 100644 --- a/sklearn/pipeline.py +++ b/sklearn/pipeline.py @@ -14,7 +14,6 @@ import numpy as np from scipy import sparse -from joblib import Parallel from .base import clone, TransformerMixin from .preprocessing import FunctionTransformer @@ -30,7 +29,7 @@ from .utils import check_pandas_support from .utils._param_validation import HasMethods, Hidden from .utils._set_output import _safe_set_output, _get_output_config -from .utils.parallel import delayed +from .utils.parallel import delayed, Parallel from .exceptions import NotFittedError from .utils.metaestimators import _BaseComposition From 2b92410ed9529f9bcf72cd360f75dc85c8e4a57d Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Wed, 18 Jan 2023 17:44:25 +0100 Subject: [PATCH 21/27] Apply suggestions from code review Co-authored-by: Olivier Grisel --- sklearn/utils/parallel.py | 25 ++++++++++++++++++++----- sklearn/utils/tests/test_parallel.py | 1 + 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/sklearn/utils/parallel.py b/sklearn/utils/parallel.py index cd4663c55678d..0621c0b992ca4 100644 --- a/sklearn/utils/parallel.py +++ b/sklearn/utils/parallel.py @@ -15,10 +15,9 @@ def _with_config(delayed_func, config): return delayed_func.with_config(config) else: warnings.warn( - "You are using `sklearn.utils.parallel.Parallel` that intend to attach a " - "configuration to a delayed function. However, the function used for " - "delaying the function does not expose `with_config`. Use " - "`sklearn.utils.parallel.delayed` to correctly propagate the scikit-learn " + "`sklearn.utils.parallel.Parallel` needs to be used in " + "conjunction with `sklearn.utils.parallel.delayed` instead of " + "`joblib.delayed` to correctly propagate the scikit-learn " "configuration to the joblib workers.", UserWarning, ) @@ -55,10 +54,26 @@ def __call__(self, iterable): return super().__call__(iterable_with_config) +Parallel.__doc__ = joblib.Parallel.__doc__ + """\ + + Note that this scikit-learn specific subclass of joblib.Parallel + ensures that the active configuration (thread-local) of scikit-learn + is propagated to the parallel workers for the duration of the execution + of the parallel tasks. +""" + + # remove when https://github.com/joblib/joblib/issues/1071 is fixed def delayed(function): """Decorator used to capture the arguments of a function. + This alternative to `joblib.delayed` is meant to be used in conjunction + with `sklearn.utils.parallel.Parallel`. The latter captures the the scikit- + learn configuration by calling `sklearn.get_config()` in the current + thread, prior to dispatching the first task. The captured configuration is + then propagated and enabled for the duration of the execution of the + delayed function in the joblib workers. + Parameters ---------- function : callable @@ -79,7 +94,7 @@ def delayed_function(*args, **kwargs): class _FuncWrapper: - """ "Load the global configuration before calling the function.""" + """Load the global configuration before calling the function.""" def __init__(self, function): self.function = function diff --git a/sklearn/utils/tests/test_parallel.py b/sklearn/utils/tests/test_parallel.py index 8b55ed078fdbf..0a3c0f048972c 100644 --- a/sklearn/utils/tests/test_parallel.py +++ b/sklearn/utils/tests/test_parallel.py @@ -56,6 +56,7 @@ def test_parallel_delayed_warnings(): @pytest.mark.parametrize("n_jobs", [1, 2]) def test_dispatch_config_parallel(n_jobs): """Check that we properly dispatch the configuration in parallel processing. + Non-regression test for: https://github.com/scikit-learn/scikit-learn/issues/25239 """ From b16203ef114ff70dcfbb16858c3c5d787eaf6447 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Wed, 18 Jan 2023 17:50:18 +0100 Subject: [PATCH 22/27] update warning --- sklearn/utils/parallel.py | 7 +++++-- sklearn/utils/tests/test_parallel.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sklearn/utils/parallel.py b/sklearn/utils/parallel.py index 0621c0b992ca4..bd18b18fd907c 100644 --- a/sklearn/utils/parallel.py +++ b/sklearn/utils/parallel.py @@ -54,13 +54,16 @@ def __call__(self, iterable): return super().__call__(iterable_with_config) -Parallel.__doc__ = joblib.Parallel.__doc__ + """\ +Parallel.__doc__ = ( + joblib.Parallel.__doc__ + + """\ Note that this scikit-learn specific subclass of joblib.Parallel ensures that the active configuration (thread-local) of scikit-learn is propagated to the parallel workers for the duration of the execution of the parallel tasks. """ +) # remove when https://github.com/joblib/joblib/issues/1071 is fixed @@ -73,7 +76,7 @@ def delayed(function): thread, prior to dispatching the first task. The captured configuration is then propagated and enabled for the duration of the execution of the delayed function in the joblib workers. - + Parameters ---------- function : callable diff --git a/sklearn/utils/tests/test_parallel.py b/sklearn/utils/tests/test_parallel.py index 0a3c0f048972c..2f56c584300d1 100644 --- a/sklearn/utils/tests/test_parallel.py +++ b/sklearn/utils/tests/test_parallel.py @@ -37,7 +37,7 @@ def test_parallel_delayed_warnings(): """Informative warnings should be raised when mixing sklearn and joblib API""" # We should issue a warning when one wants to use sklearn.utils.fixes.Parallel # with joblib.delayed. The config will not be propagated to the workers. - warn_msg = "Use `sklearn.utils.parallel.delayed` to correctly propagate" + warn_msg = "`sklearn.utils.parallel.Parallel` needs to be used in conjunction" with pytest.warns(UserWarning, match=warn_msg) as records: Parallel()(joblib.delayed(time.sleep)(0) for _ in range(10)) assert len(records) == 10 From d2fb6e6269374b94333dfa3f5d7472e30a391485 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Wed, 18 Jan 2023 17:54:20 +0100 Subject: [PATCH 23/27] DOC add versionadded and versionchanged --- sklearn/utils/parallel.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sklearn/utils/parallel.py b/sklearn/utils/parallel.py index bd18b18fd907c..7ddebf2e23d2c 100644 --- a/sklearn/utils/parallel.py +++ b/sklearn/utils/parallel.py @@ -62,6 +62,9 @@ def __call__(self, iterable): ensures that the active configuration (thread-local) of scikit-learn is propagated to the parallel workers for the duration of the execution of the parallel tasks. + + .. versionadded:: 1.3 + `Parallel` was added in scikit-learn 1.3. """ ) @@ -77,6 +80,10 @@ def delayed(function): then propagated and enabled for the duration of the execution of the delayed function in the joblib workers. + .. versionchanged:: 1.3 + `delayed` was moved from `sklearn.utils.fixes` to `sklearn.utils.parallel` + in scikit-learn 1.3. + Parameters ---------- function : callable From 4f7bd378d75f8d7be730065c5a4721802c3995d9 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 19 Jan 2023 10:46:26 +0100 Subject: [PATCH 24/27] DOC reference joblib.Parallel instead of overwrite --- sklearn/utils/parallel.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/sklearn/utils/parallel.py b/sklearn/utils/parallel.py index 7ddebf2e23d2c..48a31ee93d8a0 100644 --- a/sklearn/utils/parallel.py +++ b/sklearn/utils/parallel.py @@ -25,8 +25,17 @@ def _with_config(delayed_func, config): class Parallel(joblib.Parallel): - # A tweaked `Parallel` subclass that attaches the configuration of the current - # thread to each task to be run in parallel. + """Tweak of :class:`joblib.Parallel` that propagates the scikit-learn configuration. + + This subclass of :class:`joblib.Parallel` ensures that the active configuration + (thread-local) of scikit-learn is propagated to the parallel workers for the + duration of the execution of the parallel tasks. + + The API does not change and you can refer to :class:`joblib.Parallel` + documentation for more details. + + .. versionadded:: 1.3 + """ def __call__(self, iterable): """Dispatch the tasks and return the results. @@ -54,21 +63,6 @@ def __call__(self, iterable): return super().__call__(iterable_with_config) -Parallel.__doc__ = ( - joblib.Parallel.__doc__ - + """\ - - Note that this scikit-learn specific subclass of joblib.Parallel - ensures that the active configuration (thread-local) of scikit-learn - is propagated to the parallel workers for the duration of the execution - of the parallel tasks. - - .. versionadded:: 1.3 - `Parallel` was added in scikit-learn 1.3. -""" -) - - # remove when https://github.com/joblib/joblib/issues/1071 is fixed def delayed(function): """Decorator used to capture the arguments of a function. From 9320a51a8977b3449edd350ec7563bfc0a23437a Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Thu, 19 Jan 2023 10:50:21 +0100 Subject: [PATCH 25/27] fix Parallel import --- sklearn/decomposition/tests/test_dict_learning.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sklearn/decomposition/tests/test_dict_learning.py b/sklearn/decomposition/tests/test_dict_learning.py index 7903cbd35fc5d..6e6ddd20acb8c 100644 --- a/sklearn/decomposition/tests/test_dict_learning.py +++ b/sklearn/decomposition/tests/test_dict_learning.py @@ -5,8 +5,6 @@ from functools import partial import itertools -from joblib import Parallel - import sklearn from sklearn.base import clone @@ -14,6 +12,7 @@ from sklearn.exceptions import ConvergenceWarning from sklearn.utils import check_array +from sklearn.utils.parallel import Parallel from sklearn.utils._testing import assert_allclose from sklearn.utils._testing import assert_array_almost_equal From 1bd78b7199cf2a042b714bd0ec18218c246d5d2f Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 20 Jan 2023 11:06:44 +0100 Subject: [PATCH 26/27] Update doc/whats_new/v1.2.rst Co-authored-by: Olivier Grisel --- doc/whats_new/v1.2.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/whats_new/v1.2.rst b/doc/whats_new/v1.2.rst index d6546a3f7b173..831e258cb6e53 100644 --- a/doc/whats_new/v1.2.rst +++ b/doc/whats_new/v1.2.rst @@ -116,7 +116,11 @@ Changelog :pr:`25147` by :user:`Tim Head `. - |API| :func:`utils.fixes.delayed` is deprecated in 1.2.1 and will be removed - in 1.5. Instead, import :func:`utils.parallel.delayed`. + in 1.5. Instead, import :func:`utils.parallel.delayed` and use it in + conjunction with the newly introduced :func:`utils.parallel.Parallel` + to ensure proper propagation of the scikit-learn configuration to + the workers. + propagation :pr:`25363` by :user:`Guillaume Lemaitre `. .. _changes_1_2: From 15526e8918ae9756589e23332a8491d5bf068925 Mon Sep 17 00:00:00 2001 From: Guillaume Lemaitre Date: Fri, 20 Jan 2023 11:07:33 +0100 Subject: [PATCH 27/27] Update v1.2.rst --- doc/whats_new/v1.2.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/whats_new/v1.2.rst b/doc/whats_new/v1.2.rst index 831e258cb6e53..b7e988bd9b58f 100644 --- a/doc/whats_new/v1.2.rst +++ b/doc/whats_new/v1.2.rst @@ -120,7 +120,6 @@ Changelog conjunction with the newly introduced :func:`utils.parallel.Parallel` to ensure proper propagation of the scikit-learn configuration to the workers. - propagation :pr:`25363` by :user:`Guillaume Lemaitre `. .. _changes_1_2: