diff --git a/fastcan/_cancorr_fast.pyx b/fastcan/_cancorr_fast.pyx index 257f4dd..ae4c30c 100644 --- a/fastcan/_cancorr_fast.pyx +++ b/fastcan/_cancorr_fast.pyx @@ -8,12 +8,12 @@ from cython.parallel import prange from scipy.linalg.cython_blas cimport isamax, idamax from sklearn.utils._cython_blas cimport ColMajor, NoTrans from sklearn.utils._cython_blas cimport _dot, _scal, _nrm2, _gemm, _axpy -from sklearn.utils._typedefs cimport int32_t +from sklearn.utils._typedefs cimport int32_t, uint8_t @final cdef int _bsum( - const bint* x, + const uint8_t* x, int n, ) noexcept nogil: """Computes the sum of the vector of bool elements. @@ -129,6 +129,7 @@ cpdef int _forward_search( floating tol, # IN int num_threads, # IN int verbose, # IN + uint8_t[::1] mask, # IN/TEMP int32_t[::1] indices, # OUT floating[::1] scores, # OUT ) except -1 nogil: @@ -140,6 +141,7 @@ cpdef int _forward_search( is orthonormal to selected features and M. t : Non-negative integer. The number of features to be selected. tol : Tolerance for linear dependence check. + mask (n_features, ) Mask for candidate features. indices: (t,) The indices vector of selected features, initiated with -1. scores: (t,) The h-correlation/eta-cosine of selected features. """ @@ -149,7 +151,6 @@ cpdef int _forward_search( # OpenMP (in Windows) requires signed integral for prange int n_features = X.shape[1] floating* r2 = malloc(sizeof(floating) * n_features) - bint* mask = malloc(sizeof(bint) * n_features) floating g, ssc = 0.0 int i, j int index = -1 @@ -160,7 +161,8 @@ cpdef int _forward_search( if i == 0: # Preprocessing for j in range(n_features): - mask[j] = _normv(&X[0, j], n_samples) + if not mask[j]: + mask[j] = _normv(&X[0, j], n_samples) else: mask[index] = True r2[index] = 0 @@ -204,5 +206,4 @@ cpdef int _forward_search( with gil: print() free(r2) - free(mask) return 0 diff --git a/fastcan/_fastcan.py b/fastcan/_fastcan.py index 4cacf80..1f3d3ee 100644 --- a/fastcan/_fastcan.py +++ b/fastcan/_fastcan.py @@ -29,6 +29,9 @@ class FastCan(SelectorMixin, BaseEstimator): indices_include : array-like of shape (n_inclusions,), default=None The indices of the prerequisite features. + indices_exclude : array-like of shape (n_exclusions,), default=None + The indices of the excluded features. + eta : bool, default=False Whether to use eta-cosine method. @@ -63,6 +66,16 @@ class FastCan(SelectorMixin, BaseEstimator): The h-correlation/eta-cosine of selected features. The order of the scores is corresponding to the feature selection process. + X_transformed_ : ndarray of shape (n_samples_, n_features), dtype=float, order='F' + Transformed feature matrix. + When h-correlation method is used, n_samples_ = n_samples. + When eta-cosine method is used, n_samples_ = n_features+n_outputs. + + y_transformed_ : ndarray of shape (n_samples_, n_outputs), dtype=float, order='F' + Transformed target matrix. + When h-correlation method is used, n_samples_ = n_samples. + When eta-cosine method is used, n_samples_ = n_features+n_outputs. + References ---------- * Zhang, S., & Lang, Z. Q. (2022). @@ -88,6 +101,7 @@ class FastCan(SelectorMixin, BaseEstimator): Interval(Integral, 1, None, closed="left"), ], "indices_include": [None, "array-like"], + "indices_exclude": [None, "array-like"], "eta": ["boolean"], "tol": [Interval(Real, 0, None, closed="neither")], "verbose": ["verbose"], @@ -97,12 +111,14 @@ def __init__( self, n_features_to_select=1, indices_include=None, + indices_exclude=None, eta=False, tol=0.01, verbose=1, ): self.n_features_to_select = n_features_to_select self.indices_include = indices_include + self.indices_exclude = indices_exclude self.eta = eta self.tol = tol self.verbose = verbose @@ -152,17 +168,6 @@ def fit(self, X, y): # [:, np.newaxis] that does not. y = y.reshape(-1, 1) - # indices_include - if self.indices_include is None: - indices_include = np.zeros(0, dtype=int) - else: - indices_include = check_array( - self.indices_include, - ensure_2d=False, - dtype=int, - ensure_min_samples=0, - ) - n_samples, n_features = X.shape n_outputs = y.shape[1] @@ -172,29 +177,12 @@ def fit(self, X, y): f"must be <= n_features {n_features}." ) - if indices_include.ndim != 1: - raise ValueError( - f"Found indices_include with dim {indices_include.ndim}, " - "but expected == 1." - ) - - if indices_include.size >= n_features: - raise ValueError( - f"n_inclusions {indices_include.size} must " - f"be < n_features {n_features}." - ) - - if np.any((indices_include < 0) | (indices_include >= n_features)): - raise ValueError( - "Out of bounds. " - f"All items in indices_include should be in [0, {n_features}). " - f"But got indices_include = {indices_include}." - ) - if (n_samples < n_features + n_outputs) and self.eta: raise ValueError( "`eta` cannot be True, when n_samples < n_features+n_outputs." ) + indices_include = self._check_indices_params(self.indices_include, n_features) + indices_exclude = self._check_indices_params(self.indices_exclude, n_features) if self.eta: xy_hstack = np.hstack((X, y)) @@ -204,23 +192,28 @@ def fit(self, X, y): )[1:] qxy_transformed = singular_values.reshape(-1, 1) * unitary_arrays qxy_transformed = np.asfortranarray(qxy_transformed) - X_transformed = qxy_transformed[:, :n_features] - y_transformed = orth(qxy_transformed[:, n_features:]) + self.X_transformed_ = qxy_transformed[:, :n_features] + self.y_transformed_ = orth(qxy_transformed[:, n_features:]) else: - X_transformed = X - X.mean(0) - y_transformed = orth(y - y.mean(0)) + self.X_transformed_ = X - X.mean(0) + self.y_transformed_ = orth(y - y.mean(0)) + + # initiated with -1 + indices = np.full(self.n_features_to_select, -1, dtype=np.intc, order="F") + indices[: indices_include.size] = indices_include + scores = np.zeros(self.n_features_to_select, dtype=float, order="F") + mask = np.zeros(n_features, dtype=np.ubyte, order="F") + mask[indices_exclude] = True - indices, scores = self._prepare_data( - indices_include, - ) n_threads = _openmp_effective_n_threads() _forward_search( - X=X_transformed, - V=y_transformed, + X=self.X_transformed_, + V=self.y_transformed_, t=self.n_features_to_select, tol=self.tol, num_threads=n_threads, verbose=self.verbose, + mask=mask, indices=indices, scores=scores, ) @@ -231,34 +224,37 @@ def fit(self, X, y): self.scores_ = scores return self - def _prepare_data(self, indices_include): - """Prepare data for _forward_search() - When h-correlation method is used, n_samples_ = n_samples. - When eta-cosine method is used, n_samples_ = n_features+n_outputs. - - Parameters - ---------- - indices_include : array-like of shape (n_inclusions,), dtype=int - The indices of the prerequisite features. + def _check_indices_params(self, indices_params, n_features): + """Check indices_include or indices_exclude.""" + if indices_params is None: + indices_params = np.zeros(0, dtype=int) + else: + indices_params = check_array( + indices_params, + ensure_2d=False, + dtype=int, + ensure_min_samples=0, + ) - Returns - ------- - mask : ndarray of shape (n_features,), dtype=np.ubyte, order='F' - Mask for invalid candidate features. - The data type is unsigned char. + if indices_params.ndim != 1: + raise ValueError( + f"Found indices_params with dim {indices_params.ndim}, " + "but expected == 1." + ) - indices: ndarray of shape (n_features_to_select,), dtype=np.intc, order='F' - The indices vector of selected features, initiated with -1. - The data type is signed int. + if indices_params.size >= n_features: + raise ValueError( + f"The number of indices in indices_params {indices_params.size} must " + f"be < n_features {n_features}." + ) - scores: ndarray of shape (n_features_to_select,), dtype=float, order='F' - The h-correlation/eta-cosine of selected features. - """ - # initiated with -1 - indices = np.full(self.n_features_to_select, -1, dtype=np.intc, order="F") - indices[: indices_include.size] = indices_include - scores = np.zeros(self.n_features_to_select, dtype=float, order="F") - return indices, scores + if np.any((indices_params < 0) | (indices_params >= n_features)): + raise ValueError( + "Out of bounds. " + f"All items in indices_params should be in [0, {n_features}). " + f"But got indices_params = {indices_params}." + ) + return indices_params def _get_support_mask(self): check_is_fitted(self) diff --git a/pixi.lock b/pixi.lock index 2c36304..8d06b2d 100644 --- a/pixi.lock +++ b/pixi.lock @@ -9,90 +9,90 @@ environments: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py313h78bf25f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.8.30-hbcca054_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.6.4-py313h8060acc_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.0.11-py313hc66aa0d_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.6.4-py312h178313f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cython-3.0.11-py312h8fd2918_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.6-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-25_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-25_linux64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.4-h5888daf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-14.2.0-h77fa898_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-14.2.0-h69a702a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-14.2.0-h69a702a_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-14.2.0-h69a702a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-14.2.0-hd5240d6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-14.2.0-h77fa898_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-25_linux64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-h4bc722e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-14.2.0-hc0a3c3a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-14.2.0-h4852527_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/meson-1.6.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.16.0-pyh0c530f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.13.0-py313h536fd9c_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.17.1-pyh70fd9c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.13.0-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-he02047a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ninja-1.12.1-h297d8ca_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.1.2-py313h4bf6692_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.1.3-py312h58c1407_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.4.0-hb9d3cd8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.0.0-py313h536fd9c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.0-py312h66e93f0_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.12.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.8.1-pyh2cfa8aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.9.0-pyh2cfa8aa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyh7850678_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-5.0.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.0-h9ebbce0_100_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.7-hc5c86c4_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.13-5_cp313.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.7.0-py313h890c02e_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.5.2-py313h8ef605b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py313h27c5614_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.7.3-py312h2156523_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.5.2-py312h7a48858_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py312h62794b6_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.5.0-pyhc1e730c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tokenize-rt-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.4.25-h0f3a69f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.5.1-h0f3a69f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda - pypi: https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ed/20/bc79bc575ba2e2a7f70e8a1155618bb1301eaa5132a8271373a6903f73f8/babel-2.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2b/c9/1c8fe3ce05d30c87eff498592c89015b19fade13df42850aafae09e94f35/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/bf/9b/08c0432272d77b04803958a4598a51e2a4b51c06640af8b8f0f908c18bf2/charset_normalizer-3.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/52/c3/bb6086adb675e8b0963a7dbb7769e7118c95b687dd318cd660aefd4b4c8c/fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/57/5e/de2e6e51cb6894f2f2bc2641f6c845561361b622e96df3cca04df77222c9/fonttools-4.54.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/27/48/e791a7ed487dbb9729ef32bb5d1af16693d8925f4366befef54119b2e576/furo-2024.8.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/95/70/4839eaa672bf4eacc98ebc8d23633e02b6daf39e294e7433c4ab11a689be/matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/44/ae/7e4f6662a9b1cb5f92b9cc9cab8321c381ffbee309210940e57432a4063a/pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz + - pypi: https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/9e/d8/3d7f706c69e024d4287c1110d74f7dabac91d9843b99eadc90de9efc8869/matplotlib-3.9.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/a5/26/0d95c04c868f6bdb0c447e3ee2de5564411845e36a858cfd63766bc7b563/pillow-11.0.0.tar.gz - pypi: https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl @@ -134,7 +134,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.6.4-py313h25ec13a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cxx-compiler-1.8.0-h385f146_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/cython-3.0.11-py313h496bac6_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.6-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/fortran-compiler-1.8.0-h33d1f46_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/gfortran-13.2.0-h2c809b3_1.conda @@ -151,9 +151,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/libblas-3.9.0-25_osx64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libcblas-3.9.0-25_osx64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libclang-cpp17-17.0.6-default_hb173f14_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.2-hf95d169_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.3-hf95d169_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libcxx-devel-17.0.6-h8f8a49f_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.3-hac325c4_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libffi-3.4.2-h0d85af4_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/libgfortran-5.0.0-13_2_0_h97931a8_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/libgfortran-devel_osx-64-13.2.0-h80d4556_3.conda @@ -162,52 +162,52 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-64/liblapack-3.9.0-25_osx64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libllvm17-17.0.6-hbedff68_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libmpdec-4.0.0-hfdf4475_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.28-openmp_h8869122_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.47.0-h2f8c449_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.12.7-heaf3512_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.28-openmp_hbf64a52_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.47.0-h2f8c449_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.13.5-h495214b_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/libzlib-1.3.1-hd23fc13_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-19.1.2-hf78d878_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-19.1.3-hf78d878_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/llvm-tools-17.0.6-hbedff68_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/meson-1.6.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.16.0-pyh0c530f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.17.1-pyh70fd9c4_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/mpc-1.3.1-h9d8efa1_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/mpfr-4.2.1-haed47dc_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/mypy-1.13.0-py313hb558fbc_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ncurses-6.5-hf036a51_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/ninja-1.12.1-h3c5361c_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.1.2-py313hd1f2bdd_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.3.2-hd23fc13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.1.3-py313h7ca3f3b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.4.0-hd471939_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-6.0.0-py313hb558fbc_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/psutil-6.1.0-py313hb558fbc_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.12.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.8.1-pyh2cfa8aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.9.0-pyh2cfa8aa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyh7850678_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.0-h0608dab_100_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/python_abi-3.13-5_cp313.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/readline-8.2-h9e318b2_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.7.0-py313h3973d75_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.7.3-py313h2493e73_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/scikit-learn-1.5.2-py313h3d59ad1_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/scipy-1.14.1-py313hbd2dc07_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/sigtool-0.1.3-h88f4db0_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-64/tapi-1300.6.5-h390ca13_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.5.0-pyhc1e730c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/tk-8.6.13-h1abcd95_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tokenize-rt-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.4.25-h3a35632_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-64/uv-0.5.1-h8de1528_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/xz-5.2.6-h775f41a_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/zlib-1.3.1-hd23fc13_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-64/zstd-1.5.6-h915ae27_0.conda - pypi: https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl @@ -215,7 +215,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/4f/cd/8947fe425e2ab0aa57aceb7807af13a0e4162cd21eee42ef5b053447edf5/charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/05/3d/cc515cae84a11d696f2cb7c139a90997b15f02e2e97ec09a5d79302cbcd7/fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl @@ -268,14 +268,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/coverage-7.6.4-py313heb2b014_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cxx-compiler-1.8.0-h18dbf2f_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cython-3.0.11-py313h80254e6_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.6-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/fortran-compiler-1.8.0-hc3477c4_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gfortran-13.2.0-h1ca8e4b_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gfortran_impl_osx-arm64-13.2.0-h252ada1_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gfortran_osx-arm64-13.2.0-h57527a5_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gmp-6.3.0-h7bae524_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/isl-0.26-imath32_h347afa1_101.conda @@ -285,9 +284,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libclang-cpp17-17.0.6-default_h146c034_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.2-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-devel-17.0.6-h86353a2_6.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/libgfortran-devel_osx-arm64-13.2.0-h5d7a38c_3.conda @@ -296,52 +295,52 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libllvm17-17.0.6-h5090b49_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h99b78c6_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_h517c56d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.12.7-h01dff8b_4.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h376fa9f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.2-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-tools-17.0.6-h5090b49_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/meson-1.6.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.16.0-pyh0c530f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.17.1-pyh70fd9c4_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpc-1.3.1-h8f1351a_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mpfr-4.2.1-hb693164_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/mypy-1.13.0-py313h63a2874_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ninja-1.12.1-h420ef59_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.1.2-py313hab0c69d_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.1.3-py313hca4752e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.0.0-py313h63a2874_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.0-py313h63a2874_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.12.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.8.1-pyh2cfa8aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.9.0-pyh2cfa8aa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyh7850678_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.0-h75c3a9f_100_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.13-5_cp313.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.7.0-py313ha6603fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.7.3-py313heab95af_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scikit-learn-1.5.2-py313h14e4f8e_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/scipy-1.14.1-py313hb3ee861_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sigtool-0.1.3-h44b9a77_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tapi-1300.6.5-h03f4b80_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.5.0-pyhc1e730c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tokenize-rt-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.4.25-h41fe3af_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.5.1-h668ec48_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda - pypi: https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl @@ -349,7 +348,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/5b/f0/b5263e8668a4ee9becc2b451ed909e9c27058337fda5b8c49588183c267a/charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/03/03/05d4b22d1a674d066380657f60bbc0eda2d206446912e676d1a33a206878/fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl @@ -388,7 +387,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/coverage-7.6.4-py313hb4c8b1a_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/cython-3.0.11-py313h7176d0d_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.6-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.5.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_0.conda @@ -396,62 +395,62 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/joblib-1.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libblas-3.9.0-25_win64_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libcblas-3.9.0-25_win64_mkl.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.3-he0c23c2_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.4-he0c23c2_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.4.2-h8ffe710_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/win-64/libhwloc-2.11.1-default_h8125262_1000.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libiconv-1.17-hcfcfb64_2.conda - conda: https://conda.anaconda.org/conda-forge/win-64/liblapack-3.9.0-25_win64_mkl.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.47.0-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.12.7-h0f24e4e_4.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.47.0-h2466b09_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.5-h442d1da_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.1-h2466b09_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/meson-1.6.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.16.0-pyh0c530f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.17.1-pyh70fd9c4_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mkl-2024.2.2-h66d3029_14.conda - conda: https://conda.anaconda.org/conda-forge/win-64/mypy-1.13.0-py313ha7868ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ninja-1.12.1-hc790b64_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.1.2-py313hd65a2fa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.3.2-h2466b09_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/numpy-2.1.3-py313hee8cc43_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.4.0-h2466b09_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-6.0.0-py313ha7868ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/psutil-6.1.0-py313ha7868ed_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/pthreads-win32-2.9.1-h2466b09_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.12.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.8.1-pyh2cfa8aa_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.9.0-pyh2cfa8aa_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyproject_hooks-1.2.0-pyh7850678_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-5.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.13.0-hf5aa216_100_cp313.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-build-1.2.2.post1-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/python_abi-3.13-5_cp313.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.7.0-py313h7fc4895_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ruff-0.7.3-py313h331c231_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/scikit-learn-1.5.2-py313h4f67946_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/scipy-1.14.1-py313h16bbbb2_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tbb-2021.13.0-hc790b64_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/threadpoolctl-3.5.0-pyhc1e730c_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h5226925_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tokenize-rt-6.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.22621.0-h57928b3_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.4.25-ha08ef0e_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/uv-0.5.1-ha08ef0e_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-ha32ba9b_22.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.40.33810-hcc2c482_22.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vs2015_runtime-14.40.33810-h3bf8584_22.conda - conda: https://conda.anaconda.org/conda-forge/win-64/xz-5.2.6-h8d14728_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda - pypi: https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ed/20/bc79bc575ba2e2a7f70e8a1155618bb1301eaa5132a8271373a6903f73f8/babel-2.16.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/65/97/fc9bbc54ee13d33dc54a7fcf17b26368b18505500fc01e228c27b5222d80/charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl - - pypi: https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl + - pypi: https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl - pypi: https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/63/da/f7a1d837de419e3d4cccbd0dbf53c7399f610f65ceb9bcbf2480f3ae7950/fonttools-4.54.1-cp313-cp313-win_amd64.whl @@ -547,25 +546,25 @@ packages: - kind: conda name: black version: 24.10.0 - build: py313h78bf25f_0 + build: py312h7900ff3_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py313h78bf25f_0.conda - sha256: cf9a47712ee5f086d7b88bdb2c7d475886213aab945c81d0be4c851ab2c11e18 - md5: 2cb3d25fa279bf0661bc12c5fad99b76 + url: https://conda.anaconda.org/conda-forge/linux-64/black-24.10.0-py312h7900ff3_0.conda + sha256: 2b4344d18328b3e8fd9b5356f4ee15556779766db8cb21ecf2ff818809773df6 + md5: 2daba153b913b1b901cf61440ad5e019 depends: - click >=8.0.0 - mypy_extensions >=0.4.3 - packaging >=22.0 - pathspec >=0.9 - platformdirs >=2 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: MIT license_family: MIT purls: - pkg:pypi/black?source=hash-mapping - size: 397990 - timestamp: 1728503903590 + size: 390571 + timestamp: 1728503839694 - kind: conda name: black version: 24.10.0 @@ -880,12 +879,6 @@ packages: url: https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl sha256: 922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 requires_python: '>=3.6' -- kind: pypi - name: charset-normalizer - version: 3.4.0 - url: https://files.pythonhosted.org/packages/2b/c9/1c8fe3ce05d30c87eff498592c89015b19fade13df42850aafae09e94f35/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc - requires_python: '>=3.7.0' - kind: pypi name: charset-normalizer version: 3.4.0 @@ -904,6 +897,12 @@ packages: url: https://files.pythonhosted.org/packages/65/97/fc9bbc54ee13d33dc54a7fcf17b26368b18505500fc01e228c27b5222d80/charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl sha256: 707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b requires_python: '>=3.7.0' +- kind: pypi + name: charset-normalizer + version: 3.4.0 + url: https://files.pythonhosted.org/packages/bf/9b/08c0432272d77b04803958a4598a51e2a4b51c06640af8b8f0f908c18bf2/charset_normalizer-3.4.0-py3-none-any.whl + sha256: fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079 + requires_python: '>=3.7.0' - kind: conda name: clang version: 17.0.6 @@ -1332,9 +1331,9 @@ packages: timestamp: 1728985419063 - kind: pypi name: contourpy - version: 1.3.0 - url: https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl - sha256: 3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3 + version: 1.3.1 + url: https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz + sha256: dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699 requires_dist: - numpy>=1.23 - furo ; extra == 'docs' @@ -1354,12 +1353,12 @@ packages: - pytest-rerunfailures ; extra == 'test-no-images' - pytest-xdist ; extra == 'test-no-images' - wurlitzer ; extra == 'test-no-images' - requires_python: '>=3.9' + requires_python: '>=3.10' - kind: pypi name: contourpy - version: 1.3.0 - url: https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da + version: 1.3.1 + url: https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl + sha256: 523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5 requires_dist: - numpy>=1.23 - furo ; extra == 'docs' @@ -1379,12 +1378,12 @@ packages: - pytest-rerunfailures ; extra == 'test-no-images' - pytest-xdist ; extra == 'test-no-images' - wurlitzer ; extra == 'test-no-images' - requires_python: '>=3.9' + requires_python: '>=3.10' - kind: pypi name: contourpy - version: 1.3.0 - url: https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl - sha256: 364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7 + version: 1.3.1 + url: https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl + sha256: a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2 requires_dist: - numpy>=1.23 - furo ; extra == 'docs' @@ -1404,12 +1403,12 @@ packages: - pytest-rerunfailures ; extra == 'test-no-images' - pytest-xdist ; extra == 'test-no-images' - wurlitzer ; extra == 'test-no-images' - requires_python: '>=3.9' + requires_python: '>=3.10' - kind: pypi name: contourpy - version: 1.3.0 - url: https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl - sha256: 4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087 + version: 1.3.1 + url: https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl + sha256: a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd requires_dist: - numpy>=1.23 - furo ; extra == 'docs' @@ -1429,44 +1428,46 @@ packages: - pytest-rerunfailures ; extra == 'test-no-images' - pytest-xdist ; extra == 'test-no-images' - wurlitzer ; extra == 'test-no-images' - requires_python: '>=3.9' + requires_python: '>=3.10' - kind: conda name: coverage version: 7.6.4 - build: py313h25ec13a_0 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.6.4-py313h25ec13a_0.conda - sha256: 42bb1b0b84dcca5cb91f1d46c47e81a5d2e3841ae5afa7b0371a0b12678fa861 - md5: 3b51dc2570f11e20bb75fa3bd7d88c46 + build: py312h178313f_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.6.4-py312h178313f_0.conda + sha256: 62ef1654898b67a1aae353c8910323c803db0dcf0c117d5796eb1cfb03a2d777 + md5: a32fbd2322865ac80c7db74c553f5306 depends: - - __osx >=10.13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - tomli license: Apache-2.0 + license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping - size: 368189 - timestamp: 1729610234183 + size: 363969 + timestamp: 1729610283175 - kind: conda name: coverage version: 7.6.4 - build: py313h8060acc_0 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/coverage-7.6.4-py313h8060acc_0.conda - sha256: 020d071f2dd1df871463bccf2ffcbff20c790179f400e053dda0613c94d66f46 - md5: 5bca0d64c09da937aa82cb5aaa863c61 + build: py313h25ec13a_0 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/coverage-7.6.4-py313h25ec13a_0.conda + sha256: 42bb1b0b84dcca5cb91f1d46c47e81a5d2e3841ae5afa7b0371a0b12678fa861 + md5: 3b51dc2570f11e20bb75fa3bd7d88c46 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - __osx >=10.13 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - tomli license: Apache-2.0 + license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping - size: 372124 - timestamp: 1729610330437 + size: 368189 + timestamp: 1729610234183 - kind: conda name: coverage version: 7.6.4 @@ -1483,6 +1484,7 @@ packages: - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: Apache-2.0 + license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping size: 395778 @@ -1502,6 +1504,7 @@ packages: - python_abi 3.13.* *_cp313 - tomli license: Apache-2.0 + license_family: APACHE purls: - pkg:pypi/coverage?source=hash-mapping size: 371141 @@ -1554,6 +1557,27 @@ packages: - pytest-cov ; extra == 'tests' - pytest-xdist ; extra == 'tests' requires_python: '>=3.8' +- kind: conda + name: cython + version: 3.0.11 + build: py312h8fd2918_3 + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cython-3.0.11-py312h8fd2918_3.conda + sha256: 7a888ddda463a3146949540229c70625fbefb05bcb1352cbff990f205b8392b0 + md5: 21e433caf1bb1e4c95832f8bb731d64c + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/cython?source=hash-mapping + size: 3752086 + timestamp: 1727456382070 - kind: conda name: cython version: 3.0.11 @@ -1616,48 +1640,27 @@ packages: - pkg:pypi/cython?source=hash-mapping size: 3405225 timestamp: 1727456264421 -- kind: conda - name: cython - version: 3.0.11 - build: py313hc66aa0d_3 - build_number: 3 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cython-3.0.11-py313hc66aa0d_3.conda - sha256: 13716009a4bcbd99d7192d2f62e62dcc36ec88a5399665bb08b3730628344e34 - md5: 1778443eb12b2da98428fa69152a2a2e - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - - python >=3.13.0rc2,<3.14.0a0 - - python_abi 3.13.* *_cp313 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/cython?source=hash-mapping - size: 3775368 - timestamp: 1727456833523 - kind: conda name: cython-lint - version: 0.16.2 - build: pyhd8ed1ab_0 + version: 0.16.6 + build: pyhff2d567_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.2-pyhd8ed1ab_0.conda - sha256: e00d182da6cc4608edd1d7ccfd41047e9dc03a03bea69dbc9d5424b69d94789d - md5: ea92ae801d5c47860e83b13b70d47cc8 + url: https://conda.anaconda.org/conda-forge/noarch/cython-lint-0.16.6-pyhff2d567_0.conda + sha256: b8be28885737768620425c3f256c74017d9811fc086f705f5280b2b7bd59536c + md5: 2d640ab1e2fd57f59e2cd078bc67d99e depends: - cython >=0.29.32 - pycodestyle - - python >=3.8 + - python >=3.9 - tokenize-rt >=3.2.0 - tomli license: MIT license_family: MIT purls: - pkg:pypi/cython-lint?source=hash-mapping - size: 18058 - timestamp: 1713199173480 + size: 18042 + timestamp: 1731363284571 - kind: pypi name: docutils version: 0.21.2 @@ -1699,7 +1702,7 @@ packages: url: https://files.pythonhosted.org/packages/03/03/05d4b22d1a674d066380657f60bbc0eda2d206446912e676d1a33a206878/fonttools-4.54.1-cp313-cp313-macosx_11_0_arm64.whl sha256: 357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb requires_dist: - - fs<3,>=2.2.0 ; extra == 'all' + - fs>=2.2.0,<3 ; extra == 'all' - lxml>=4.0 ; extra == 'all' - zopfli>=0.1.4 ; extra == 'all' - lz4>=1.7.4.2 ; extra == 'all' @@ -1724,7 +1727,7 @@ packages: - uharfbuzz>=0.23.0 ; extra == 'repacker' - sympy ; extra == 'symfont' - xattr ; sys_platform == 'darwin' and extra == 'type1' - - fs<3,>=2.2.0 ; extra == 'ufo' + - fs>=2.2.0,<3 ; extra == 'ufo' - unicodedata2>=15.1.0 ; python_full_version < '3.13' and extra == 'unicode' - zopfli>=0.1.4 ; extra == 'woff' - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' @@ -1736,7 +1739,7 @@ packages: url: https://files.pythonhosted.org/packages/05/3d/cc515cae84a11d696f2cb7c139a90997b15f02e2e97ec09a5d79302cbcd7/fonttools-4.54.1-cp313-cp313-macosx_10_13_universal2.whl sha256: 6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff requires_dist: - - fs<3,>=2.2.0 ; extra == 'all' + - fs>=2.2.0,<3 ; extra == 'all' - lxml>=4.0 ; extra == 'all' - zopfli>=0.1.4 ; extra == 'all' - lz4>=1.7.4.2 ; extra == 'all' @@ -1761,7 +1764,7 @@ packages: - uharfbuzz>=0.23.0 ; extra == 'repacker' - sympy ; extra == 'symfont' - xattr ; sys_platform == 'darwin' and extra == 'type1' - - fs<3,>=2.2.0 ; extra == 'ufo' + - fs>=2.2.0,<3 ; extra == 'ufo' - unicodedata2>=15.1.0 ; python_full_version < '3.13' and extra == 'unicode' - zopfli>=0.1.4 ; extra == 'woff' - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' @@ -1770,10 +1773,10 @@ packages: - kind: pypi name: fonttools version: 4.54.1 - url: https://files.pythonhosted.org/packages/52/c3/bb6086adb675e8b0963a7dbb7769e7118c95b687dd318cd660aefd4b4c8c/fonttools-4.54.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a + url: https://files.pythonhosted.org/packages/57/5e/de2e6e51cb6894f2f2bc2641f6c845561361b622e96df3cca04df77222c9/fonttools-4.54.1-py3-none-any.whl + sha256: 37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd requires_dist: - - fs<3,>=2.2.0 ; extra == 'all' + - fs>=2.2.0,<3 ; extra == 'all' - lxml>=4.0 ; extra == 'all' - zopfli>=0.1.4 ; extra == 'all' - lz4>=1.7.4.2 ; extra == 'all' @@ -1798,7 +1801,7 @@ packages: - uharfbuzz>=0.23.0 ; extra == 'repacker' - sympy ; extra == 'symfont' - xattr ; sys_platform == 'darwin' and extra == 'type1' - - fs<3,>=2.2.0 ; extra == 'ufo' + - fs>=2.2.0,<3 ; extra == 'ufo' - unicodedata2>=15.1.0 ; python_full_version < '3.13' and extra == 'unicode' - zopfli>=0.1.4 ; extra == 'woff' - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' @@ -1810,7 +1813,7 @@ packages: url: https://files.pythonhosted.org/packages/63/da/f7a1d837de419e3d4cccbd0dbf53c7399f610f65ceb9bcbf2480f3ae7950/fonttools-4.54.1-cp313-cp313-win_amd64.whl sha256: 262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d requires_dist: - - fs<3,>=2.2.0 ; extra == 'all' + - fs>=2.2.0,<3 ; extra == 'all' - lxml>=4.0 ; extra == 'all' - zopfli>=0.1.4 ; extra == 'all' - lz4>=1.7.4.2 ; extra == 'all' @@ -1835,7 +1838,7 @@ packages: - uharfbuzz>=0.23.0 ; extra == 'repacker' - sympy ; extra == 'symfont' - xattr ; sys_platform == 'darwin' and extra == 'type1' - - fs<3,>=2.2.0 ; extra == 'ufo' + - fs>=2.2.0,<3 ; extra == 'ufo' - unicodedata2>=15.1.0 ; python_full_version < '3.13' and extra == 'unicode' - zopfli>=0.1.4 ; extra == 'woff' - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'woff' @@ -1888,7 +1891,7 @@ packages: sha256: 6cd97c58b47813d3619e63e9081169880fbe331f0ca883c871ff1f3f11814f5c requires_dist: - beautifulsoup4 - - sphinx<9.0,>=6.0 + - sphinx>=6.0,<9.0 - sphinx-basic-ng>=1.0.0b2 - pygments>=2.7 requires_python: '>=3.8' @@ -2071,21 +2074,6 @@ packages: purls: [] size: 11761697 timestamp: 1720853679409 -- kind: conda - name: icu - version: '75.1' - build: hfee45f7_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda - sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 - md5: 5eb22c1d7b3fc4abb50d92d621583137 - depends: - - __osx >=11.0 - license: MIT - license_family: MIT - purls: [] - size: 11857802 - timestamp: 1720853997952 - kind: pypi name: idna version: '3.10' @@ -2230,8 +2218,8 @@ packages: - kind: pypi name: kiwisolver version: 1.4.7 - url: https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1 + url: https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz + sha256: 9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60 requires_python: '>=3.8' - kind: pypi name: kiwisolver @@ -2332,12 +2320,12 @@ packages: - kind: conda name: ld_impl_linux-64 version: '2.43' - build: h712a8e2_1 - build_number: 1 + build: h712a8e2_2 + build_number: 2 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_1.conda - sha256: 0c21387f9a411e3d1f7f2969026bacfece133c8f1e72faea9cde29c0c19e1f3a - md5: 83e1364586ceb8d0739fbc85b5c95837 + url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.43-h712a8e2_2.conda + sha256: 7c91cea91b13f4314d125d1bedb9d03a29ebbd5080ccdea70260363424646dbe + md5: 048b02e3962f066da18efe3a21b77672 depends: - __glibc >=2.17,<3.0.a0 constrains: @@ -2345,8 +2333,8 @@ packages: license: GPL-3.0-only license_family: GPL purls: [] - size: 669616 - timestamp: 1727304687962 + size: 669211 + timestamp: 1729655358674 - kind: conda name: libblas version: 3.9.0 @@ -2365,6 +2353,7 @@ packages: - blas * openblas - liblapacke 3.9.0 25_linux64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15677 timestamp: 1729642900350 @@ -2386,6 +2375,7 @@ packages: - blas * openblas - libcblas 3.9.0 25_osx64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15952 timestamp: 1729643159199 @@ -2407,6 +2397,7 @@ packages: - liblapacke 3.9.0 25_osxarm64_openblas - libcblas 3.9.0 25_osxarm64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15913 timestamp: 1729643265495 @@ -2427,6 +2418,7 @@ packages: - liblapack 3.9.0 25_win64_mkl - liblapacke 3.9.0 25_win64_mkl license: BSD-3-Clause + license_family: BSD purls: [] size: 3736641 timestamp: 1729643534444 @@ -2446,6 +2438,7 @@ packages: - blas * openblas - liblapacke 3.9.0 25_linux64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15613 timestamp: 1729642905619 @@ -2465,6 +2458,7 @@ packages: - liblapacke 3.9.0 25_osx64_openblas - blas * openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15842 timestamp: 1729643166929 @@ -2484,6 +2478,7 @@ packages: - liblapack 3.9.0 25_osxarm64_openblas - liblapacke 3.9.0 25_osxarm64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15837 timestamp: 1729643270793 @@ -2503,6 +2498,7 @@ packages: - liblapack 3.9.0 25_win64_mkl - liblapacke 3.9.0 25_win64_mkl license: BSD-3-Clause + license_family: BSD purls: [] size: 3732258 timestamp: 1729643561581 @@ -2544,34 +2540,34 @@ packages: timestamp: 1725505540477 - kind: conda name: libcxx - version: 19.1.2 + version: 19.1.3 build: ha82da77_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.2-ha82da77_0.conda - sha256: 9c714110264f4fe824d40e11ad39b0eda65251f87826c81f4d67ccf8a3348d29 - md5: ba89ad7c5477e6a9d020020fcdadd37d + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + sha256: 6d062760c6439e75b9a44d800d89aff60fe3441998d87506c62dc94c50412ef4 + md5: bf691071fba4734984231617783225bc depends: - __osx >=11.0 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 521199 - timestamp: 1729038190391 + size: 520771 + timestamp: 1730314603920 - kind: conda name: libcxx - version: 19.1.2 + version: 19.1.3 build: hf95d169_0 subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.2-hf95d169_0.conda - sha256: 04593566411ce8dc6400777c772c10a153ebf1082b104ee52a98562a24a50880 - md5: 8bdfb741a2cdbd0a4e7b7dc30fbc0d6c + url: https://conda.anaconda.org/conda-forge/osx-64/libcxx-19.1.3-hf95d169_0.conda + sha256: 466f259bb13a8058fef28843977c090d21ad337b71a842ccc0407bccf8d27011 + md5: 86801fc56d4641e3ef7a63f5d996b960 depends: - __osx >=10.13 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 526600 - timestamp: 1729038055775 + size: 528991 + timestamp: 1730314340106 - kind: conda name: libcxx-devel version: 17.0.6 @@ -2606,75 +2602,75 @@ packages: timestamp: 1725403649896 - kind: conda name: libexpat - version: 2.6.3 - build: h5888daf_0 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.3-h5888daf_0.conda - sha256: 4bb47bb2cd09898737a5211e2992d63c555d63715a07ba56eae0aff31fb89c22 - md5: 59f4c43bb1b5ef1c71946ff2cbf59524 + version: 2.6.4 + build: h240833e_0 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.4-h240833e_0.conda + sha256: d10f43d0c5df6c8cf55259bce0fe14d2377eed625956cddce06f58827d288c59 + md5: 20307f4049a735a78a29073be1be2626 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 + - __osx >=10.13 constrains: - - expat 2.6.3.* + - expat 2.6.4.* license: MIT license_family: MIT purls: [] - size: 73616 - timestamp: 1725568742634 + size: 70758 + timestamp: 1730967204736 - kind: conda name: libexpat - version: 2.6.3 - build: hac325c4_0 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/libexpat-2.6.3-hac325c4_0.conda - sha256: dd22dffad6731c352f4c14603868c9cce4d3b50ff5ff1e50f416a82dcb491947 - md5: c1db99b0a94a2f23bd6ce39e2d314e07 + version: 2.6.4 + build: h286801f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda + sha256: e42ab5ace927ee7c84e3f0f7d813671e1cf3529f5f06ee5899606630498c2745 + md5: 38d2656dd914feb0cab8c629370768bf depends: - - __osx >=10.13 + - __osx >=11.0 constrains: - - expat 2.6.3.* + - expat 2.6.4.* license: MIT license_family: MIT purls: [] - size: 70517 - timestamp: 1725568864316 + size: 64693 + timestamp: 1730967175868 - kind: conda name: libexpat - version: 2.6.3 - build: he0c23c2_0 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.3-he0c23c2_0.conda - sha256: 9543965d155b8da96fc67dd81705fe5c2571c7c00becc8de5534c850393d4e3c - md5: 21415fbf4d0de6767a621160b43e5dea + version: 2.6.4 + build: h5888daf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.4-h5888daf_0.conda + sha256: 56541b98447b58e52d824bd59d6382d609e11de1f8adf20b23143e353d2b8d26 + md5: db833e03127376d461e1e13e76f09b6c depends: - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 constrains: - - expat 2.6.3.* + - expat 2.6.4.* license: MIT license_family: MIT purls: [] - size: 138992 - timestamp: 1725569106114 + size: 73304 + timestamp: 1730967041968 - kind: conda name: libexpat - version: 2.6.3 - build: hf9b8971_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.3-hf9b8971_0.conda - sha256: 5cbe5a199fba14ade55457a468ce663aac0b54832c39aa54470b3889b4c75c4a - md5: 5f22f07c2ab2dea8c66fe9585a062c96 + version: 2.6.4 + build: he0c23c2_0 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.6.4-he0c23c2_0.conda + sha256: 0c0447bf20d1013d5603499de93a16b6faa92d7ead870d96305c0f065b6a5a12 + md5: eb383771c680aa792feb529eaf9df82f depends: - - __osx >=11.0 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 constrains: - - expat 2.6.3.* + - expat 2.6.4.* license: MIT license_family: MIT purls: [] - size: 63895 - timestamp: 1725568783033 + size: 139068 + timestamp: 1730967442102 - kind: conda name: libffi version: 3.4.2 @@ -2852,22 +2848,6 @@ packages: purls: [] size: 1964427 timestamp: 1707330674197 -- kind: conda - name: libgfortran-ng - version: 14.2.0 - build: h69a702a_1 - build_number: 1 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-14.2.0-h69a702a_1.conda - sha256: 423f1e2403f0c665748e42d335e421e53fd03c08d457cfb6f360d329d9459851 - md5: 0a7f4cd238267c88e5d69f7826a407eb - depends: - - libgfortran 14.2.0 h69a702a_1 - license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - purls: [] - size: 54106 - timestamp: 1729027945817 - kind: conda name: libgfortran5 version: 13.2.0 @@ -3017,6 +2997,7 @@ packages: - libcblas 3.9.0 25_linux64_openblas - blas * openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15608 timestamp: 1729642910812 @@ -3036,6 +3017,7 @@ packages: - blas * openblas - libcblas 3.9.0 25_osx64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15852 timestamp: 1729643174413 @@ -3055,6 +3037,7 @@ packages: - liblapacke 3.9.0 25_osxarm64_openblas - libcblas 3.9.0 25_osxarm64_openblas license: BSD-3-Clause + license_family: BSD purls: [] size: 15823 timestamp: 1729643275943 @@ -3074,6 +3057,7 @@ packages: - libcblas 3.9.0 25_win64_mkl - liblapacke 3.9.0 25_win64_mkl license: BSD-3-Clause + license_family: BSD purls: [] size: 3736560 timestamp: 1729643588182 @@ -3133,22 +3117,6 @@ packages: purls: [] size: 88657 timestamp: 1723861474602 -- kind: conda - name: libmpdec - version: 4.0.0 - build: h4bc722e_0 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-h4bc722e_0.conda - sha256: d02d1d3304ecaf5c728e515eb7416517a0b118200cd5eacbe829c432d1664070 - md5: aeb98fdeb2e8f25d43ef71fbacbeec80 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=12 - license: BSD-2-Clause - license_family: BSD - purls: [] - size: 89991 - timestamp: 1723817448345 - kind: conda name: libmpdec version: 4.0.0 @@ -3179,128 +3147,150 @@ packages: purls: [] size: 76561 timestamp: 1723817691512 +- kind: conda + name: libnsl + version: 2.0.1 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6 + md5: 30fd6e37fe21f86f4bd26d6ee73eeec7 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-only + license_family: GPL + purls: [] + size: 33408 + timestamp: 1697359010159 - kind: conda name: libopenblas version: 0.3.28 - build: openmp_h517c56d_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_h517c56d_0.conda - sha256: 43d69d072f1a3774994d31f9d3241cfa0f1c5560b536989020d7cde30fbef956 - md5: 9306fd5b6b39b2b7e13c1d50c3fee354 + build: openmp_hbf64a52_1 + build_number: 1 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.28-openmp_hbf64a52_1.conda + sha256: cef5856952688ce9303f85f5bc62c99e8c2256b4c679f63afdfb381f222e90c7 + md5: cd2c572c02a73b88c4d378eb31110e85 depends: - - __osx >=11.0 + - __osx >=10.13 - libgfortran 5.* - - libgfortran5 >=12.3.0 - - llvm-openmp >=16.0.6 + - libgfortran5 >=13.2.0 + - llvm-openmp >=18.1.8 constrains: - openblas >=0.3.28,<0.3.29.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 2934061 - timestamp: 1723931625423 + size: 6165715 + timestamp: 1730773348340 - kind: conda name: libopenblas version: 0.3.28 - build: openmp_h8869122_0 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/libopenblas-0.3.28-openmp_h8869122_0.conda - sha256: f86ff61991104bfa4fc7725c6d45c29516e7eb504a6d73ee23c50cd208900906 - md5: 6bf3c78f6d014543765570c8e1c65642 + build: openmp_hf332438_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + sha256: 62bb669c37a845129096f73d446cdb6bb170e4927f2fea2b661329680dbbc373 + md5: 40803a48d947c8639da6704e9a44d3ce depends: - - __osx >=10.13 + - __osx >=11.0 - libgfortran 5.* - - libgfortran5 >=12.3.0 - - llvm-openmp >=16.0.6 + - libgfortran5 >=13.2.0 + - llvm-openmp >=18.1.8 constrains: - openblas >=0.3.28,<0.3.29.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 6052706 - timestamp: 1723932292682 + size: 4165774 + timestamp: 1730772154295 - kind: conda name: libopenblas version: 0.3.28 - build: pthreads_h94d23a6_0 + build: pthreads_h94d23a6_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_0.conda - sha256: 1e41a6d63e07be996238a1e840a426f86068956a45e0c0bb24e49a8dad9874c1 - md5: 9ebc9aedafaa2515ab247ff6bb509458 + url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.28-pthreads_h94d23a6_1.conda + sha256: 99ba271d8a80a1af2723f2e124ffd91d850074c0389c067e6d96d72a2dbfeabe + md5: 62857b389e42b36b686331bec0922050 depends: - __glibc >=2.17,<3.0.a0 - - libgcc-ng >=14 - - libgfortran-ng - - libgfortran5 >=14.1.0 + - libgcc >=14 + - libgfortran + - libgfortran5 >=14.2.0 constrains: - openblas >=0.3.28,<0.3.29.0a0 license: BSD-3-Clause license_family: BSD purls: [] - size: 5572213 - timestamp: 1723932528810 + size: 5578513 + timestamp: 1730772671118 - kind: conda name: libsqlite version: 3.47.0 - build: h2466b09_0 + build: h2466b09_1 + build_number: 1 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.47.0-h2466b09_0.conda - sha256: 4f3cd0477c831eab48fb7fa3ed91d918aeb644fad9b4014726d445339750cdcc - md5: 964bef59135d876c596ae67b3315e812 + url: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.47.0-h2466b09_1.conda + sha256: 3342d6fe787f5830f7e8466d9c65c914bfd8d67220fb5673041b338cbba47afe + md5: 5b1f36012cc3d09c4eb9f24ad0e2c379 depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: Unlicense purls: [] - size: 884970 - timestamp: 1729592254351 + size: 892175 + timestamp: 1730208431651 - kind: conda name: libsqlite version: 3.47.0 - build: h2f8c449_0 + build: h2f8c449_1 + build_number: 1 subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.47.0-h2f8c449_0.conda - sha256: 6bae3280dc402c9d306275363f3a88f6a667b8e3bfa68859b7928d42f0f1495a - md5: 9dbe833ae53f6756fd87e32bd5fa508e + url: https://conda.anaconda.org/conda-forge/osx-64/libsqlite-3.47.0-h2f8c449_1.conda + sha256: a0f7381c867898a45018b1e5cf1aca68659d292d58252e8f489a4270b010fed8 + md5: af445c495253a871c3d809e1199bb12b depends: - __osx >=10.13 - libzlib >=1.3.1,<2.0a0 license: Unlicense purls: [] - size: 915473 - timestamp: 1729591970061 + size: 915300 + timestamp: 1730208101739 - kind: conda name: libsqlite version: 3.47.0 - build: hadc24fc_0 + build: hadc24fc_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_0.conda - sha256: 76ffc7a5823b51735c11d535f3666b3c9c7d1519f9fbb6fa9cdff79db01960b9 - md5: 540296f0ce9d3352188c15a89b30b9ac + url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.47.0-hadc24fc_1.conda + sha256: 8a9aadf996a2399f65b679c6e7f29139d5059f699c63e6d7b50e20db10c00508 + md5: b6f02b52a174e612e89548f4663ce56a depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - libzlib >=1.3.1,<2.0a0 license: Unlicense purls: [] - size: 874704 - timestamp: 1729591931557 + size: 875349 + timestamp: 1730208050020 - kind: conda name: libsqlite version: 3.47.0 - build: hbaaea75_0 + build: hbaaea75_1 + build_number: 1 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_0.conda - sha256: 76aa4bbbaa2334689b16048f04ac4c7406e9bfb1f225ac7107fd2a73f85329cf - md5: 5bbe4802d5460b80620411fe1da8fec3 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e + md5: 07a14fbe439eef078cc479deca321161 depends: - __osx >=11.0 - libzlib >=1.3.1,<2.0a0 license: Unlicense purls: [] - size: 837789 - timestamp: 1729592072314 + size: 837683 + timestamp: 1730208293578 - kind: conda name: libstdcxx version: 14.2.0 @@ -3348,35 +3338,49 @@ packages: purls: [] size: 33601 timestamp: 1680112270483 +- kind: conda + name: libxcrypt + version: 4.4.36 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c + md5: 5aa797f8787fe7a17d1b0821485b5adc + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + purls: [] + size: 100393 + timestamp: 1702724383534 - kind: conda name: libxml2 - version: 2.12.7 - build: h01dff8b_4 - build_number: 4 + version: 2.13.5 + build: h376fa9f_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.12.7-h01dff8b_4.conda - sha256: a9a76cdc6e93c0182bc2ac58b1ea0152be1a16a5d23f4dc7b8df282a7aef8d20 - md5: 1265488dc5035457b729583119ad4a1b + url: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h376fa9f_0.conda + sha256: d443703d324f3dbd628d58ea498ab0e474c06d5771e7f55baf215fdbc11ceb87 + md5: adea92805465ed3dcf0776b428e34744 depends: - __osx >=11.0 - - icu >=75.1,<76.0a0 - libiconv >=1.17,<2.0a0 - libzlib >=1.3.1,<2.0a0 - xz >=5.2.6,<6.0a0 + constrains: + - icu <0.0a0 license: MIT license_family: MIT purls: [] - size: 588990 - timestamp: 1721031045514 + size: 582076 + timestamp: 1731489850179 - kind: conda name: libxml2 - version: 2.12.7 - build: h0f24e4e_4 - build_number: 4 + version: 2.13.5 + build: h442d1da_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.12.7-h0f24e4e_4.conda - sha256: ae78197961b09b0eef4ee194a44e4adc4555c0f2f20c348086b0cd8aaf2f7731 - md5: ed4d301f0d2149b34deb9c4fecafd836 + url: https://conda.anaconda.org/conda-forge/win-64/libxml2-2.13.5-h442d1da_0.conda + sha256: 020466b17c143190bd5a6540be2ceef4c1f8d514408bd5f0adaafcd9d0057b5c + md5: 1fbabbec60a3c7c519a5973b06c3b2f4 depends: - libiconv >=1.17,<2.0a0 - libzlib >=1.3.1,<2.0a0 @@ -3386,17 +3390,16 @@ packages: license: MIT license_family: MIT purls: [] - size: 1682090 - timestamp: 1721031296951 + size: 1511585 + timestamp: 1731489892312 - kind: conda name: libxml2 - version: 2.12.7 - build: heaf3512_4 - build_number: 4 + version: 2.13.5 + build: h495214b_0 subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.12.7-heaf3512_4.conda - sha256: ed18a2d8d428c0b88d47751ebcc7cc4e6202f99c3948fffd776cba83c4f0dad3 - md5: ea1be6ecfe814da889e882c8b6ead79d + url: https://conda.anaconda.org/conda-forge/osx-64/libxml2-2.13.5-h495214b_0.conda + sha256: 66e1bf40699daf83b39e1281f06c64cf83499de3a9c05d59477fadded6d85b18 + md5: 8711bc6fb054192dc432741dcd233ac3 depends: - __osx >=10.13 - icu >=75.1,<76.0a0 @@ -3406,8 +3409,8 @@ packages: license: MIT license_family: MIT purls: [] - size: 619901 - timestamp: 1721031175411 + size: 608931 + timestamp: 1731489767386 - kind: conda name: libzlib version: 1.3.1 @@ -3485,38 +3488,38 @@ packages: timestamp: 1727963183990 - kind: conda name: llvm-openmp - version: 19.1.2 + version: 19.1.3 build: hb52a8e5_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.2-hb52a8e5_0.conda - sha256: a1836fa9eddf8b3fa2209db4a3423b13fdff93a8eacc9fe8360a6867e7f440d0 - md5: 7ad59f95f091ed6a99a7cbcd6f201be0 + url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + sha256: 49a8940e727aa82ee034fa9a60b3fcababec41b3192d955772aab635a5374b82 + md5: dd695d23e78d1ca4fecce969b1e1db61 depends: - __osx >=11.0 constrains: - - openmp 19.1.2|19.1.2.* + - openmp 19.1.3|19.1.3.* license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] - size: 280737 - timestamp: 1729145191646 + size: 280488 + timestamp: 1730364082380 - kind: conda name: llvm-openmp - version: 19.1.2 + version: 19.1.3 build: hf78d878_0 subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-19.1.2-hf78d878_0.conda - sha256: 92231d391886bca0c0dabb42f02a37e7acb8ea84399843173fe8c294814735dd - md5: ca5f963676a9ad5383b7441368e1d107 + url: https://conda.anaconda.org/conda-forge/osx-64/llvm-openmp-19.1.3-hf78d878_0.conda + sha256: 3d28e9938ab1400322ba76968cdbee035009d611bbee94ec6b38a154551954b4 + md5: 18a8498d57d871da066beaa09263a638 depends: - __osx >=10.13 constrains: - - openmp 19.1.2|19.1.2.* + - openmp 19.1.3|19.1.3.* license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] - size: 305589 - timestamp: 1729145249496 + size: 305524 + timestamp: 1730364180247 - kind: conda name: llvm-tools version: 17.0.6 @@ -3566,12 +3569,6 @@ packages: purls: [] size: 23219165 timestamp: 1701378990823 -- kind: pypi - name: markupsafe - version: 3.0.2 - url: https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: 15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 - requires_python: '>=3.9' - kind: pypi name: markupsafe version: 3.0.2 @@ -3590,6 +3587,12 @@ packages: url: https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl sha256: ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd requires_python: '>=3.9' +- kind: pypi + name: markupsafe + version: 3.0.2 + url: https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz + sha256: ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 + requires_python: '>=3.9' - kind: pypi name: matplotlib version: 3.9.2 @@ -3637,8 +3640,8 @@ packages: - kind: pypi name: matplotlib version: 3.9.2 - url: https://files.pythonhosted.org/packages/95/70/4839eaa672bf4eacc98ebc8d23633e02b6daf39e294e7433c4ab11a689be/matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl - sha256: f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413 + url: https://files.pythonhosted.org/packages/9e/d8/3d7f706c69e024d4287c1110d74f7dabac91d9843b99eadc90de9efc8869/matplotlib-3.9.2.tar.gz + sha256: 96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92 requires_dist: - contourpy>=1.0.1 - cycler>=0.10 @@ -3699,13 +3702,13 @@ packages: timestamp: 1729459473406 - kind: conda name: meson-python - version: 0.16.0 - build: pyh0c530f3_0 + version: 0.17.1 + build: pyh70fd9c4_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.16.0-pyh0c530f3_0.conda - sha256: 71377ccefd72c547fe537157d5aeec36b8cc6ed16b15ffea90c59d904b987e24 - md5: e16f0dbf502da873be9f9adb0dc52547 + url: https://conda.anaconda.org/conda-forge/noarch/meson-python-0.17.1-pyh70fd9c4_0.conda + sha256: 2695b97793675cce8d1d60fdccc80265e32a8ca0be3e81166a66998b723385d6 + md5: 722b649da38842068d83b6e6770f11a1 depends: - meson >=0.63.3 - ninja @@ -3717,8 +3720,8 @@ packages: license_family: MIT purls: - pkg:pypi/meson-python?source=hash-mapping - size: 71369 - timestamp: 1713362631178 + size: 74279 + timestamp: 1729913428849 - kind: conda name: mkl version: 2024.2.2 @@ -3809,25 +3812,25 @@ packages: - kind: conda name: mypy version: 1.13.0 - build: py313h536fd9c_0 + build: py312h66e93f0_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.13.0-py313h536fd9c_0.conda - sha256: d0b2935b66ca59b33efe7400a429367d7644781ca6e5c9c1ba434695b7de63d8 - md5: 4a6462b2bd12d09e0ce32565f59e9605 + url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.13.0-py312h66e93f0_0.conda + sha256: fbd1a5ac0e0e0fb16ab65395fb9b6d86aa9fb1e32689df13ee45829294a7ec57 + md5: 824a5a98260d4ee4d12fcad92d153c47 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - mypy_extensions >=1.0.0 - psutil >=4.0 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 - typing_extensions >=4.1.0 license: MIT license_family: MIT purls: - pkg:pypi/mypy?source=hash-mapping - size: 17256607 - timestamp: 1729644645953 + size: 18799862 + timestamp: 1729644961295 - kind: conda name: mypy version: 1.13.0 @@ -4024,12 +4027,12 @@ packages: timestamp: 1715441052517 - kind: conda name: numpy - version: 2.1.2 - build: py313h4bf6692_0 + version: 2.1.3 + build: py312h58c1407_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.1.2-py313h4bf6692_0.conda - sha256: 1d160a3e4d96f5e1fc81a97ca849be8bba055854bcf05ed866e94987e63e03c0 - md5: 01160f6090dd2db5c0dce21712121d33 + url: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.1.3-py312h58c1407_0.conda + sha256: e4c14f71588a5627a6935d3e7d9ca78a8387229ec8ebc91616b0988ce57ba0dc + md5: dfdbc12e6d81889ba4c494a23f23eba8 depends: - __glibc >=2.17,<3.0.a0 - libblas >=3.9.0,<4.0a0 @@ -4037,32 +4040,31 @@ packages: - libgcc >=13 - liblapack >=3.9.0,<4.0a0 - libstdcxx >=13 - - python >=3.13.0rc3,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 constrains: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/numpy?source=hash-mapping - size: 8493435 - timestamp: 1728240511631 + size: 8388631 + timestamp: 1730588649810 - kind: conda name: numpy - version: 2.1.2 - build: py313hab0c69d_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.1.2-py313hab0c69d_0.conda - sha256: d4374eeb69c3e9acd452cc37c0e3da49e2f1c6630a6d9944995364cad9138a9a - md5: fadfbfa67c124bbc22e8a33f65d19ec9 + version: 2.1.3 + build: py313h7ca3f3b_0 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.1.3-py313h7ca3f3b_0.conda + sha256: fe86adfc262259f1b156301d45d49d81801b1dec732e5b1dbc647cafe4659475 + md5: b827b0af2098c63435b27b7f4e4d50dd depends: - - __osx >=11.0 + - __osx >=10.13 - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 - - libcxx >=17 + - libcxx >=18 - liblapack >=3.9.0,<4.0a0 - - python >=3.13.0rc3,<3.14.0a0 - - python >=3.13.0rc3,<3.14.0a0 *_cp313 + - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 constrains: - numpy-base <0a0 @@ -4070,23 +4072,24 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=hash-mapping - size: 6481586 - timestamp: 1728240458241 + size: 7638660 + timestamp: 1730588470617 - kind: conda name: numpy - version: 2.1.2 - build: py313hd1f2bdd_0 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/numpy-2.1.2-py313hd1f2bdd_0.conda - sha256: 0b2f8e2589655b568073fe56da04d29fd7dd13c02e8f7b8bedec175c76d9d93e - md5: 6b6950575916f90c82ad76e13a8a58f4 + version: 2.1.3 + build: py313hca4752e_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.1.3-py313hca4752e_0.conda + sha256: 3e8bb3474fc90e8c5c1799f4a4e8b887d31b50a0e94fd9f63e2725f7be2e3d4f + md5: c9d17b236cff44f7a24f19808842ec39 depends: - - __osx >=10.13 + - __osx >=11.0 - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 - - libcxx >=17 + - libcxx >=18 - liblapack >=3.9.0,<4.0a0 - - python >=3.13.0rc3,<3.14.0a0 + - python >=3.13,<3.14.0a0 + - python >=3.13,<3.14.0a0 *_cp313 - python_abi 3.13.* *_cp313 constrains: - numpy-base <0a0 @@ -4094,16 +4097,16 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=hash-mapping - size: 7474292 - timestamp: 1728240385552 + size: 6468921 + timestamp: 1730588494311 - kind: conda name: numpy - version: 2.1.2 - build: py313hd65a2fa_0 + version: 2.1.3 + build: py313hee8cc43_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/numpy-2.1.2-py313hd65a2fa_0.conda - sha256: 16235263d027496ece75039a5ad9063429d21bc1d4b46c79fef48232dac183a6 - md5: bedcf5207b54644dcd02e671ce3acd02 + url: https://conda.anaconda.org/conda-forge/win-64/numpy-2.1.3-py313hee8cc43_0.conda + sha256: 79b8493c839cd4cc22e2a7024f289067b029ef2b09212973a98a39e5bbeecc03 + md5: 083a90ad306f544f6eeb9ad00c4d9879 depends: - libblas >=3.9.0,<4.0a0 - libcblas >=3.9.0,<4.0a0 @@ -4119,16 +4122,16 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=hash-mapping - size: 7018073 - timestamp: 1728665195933 + size: 7072965 + timestamp: 1730588905304 - kind: conda name: openssl - version: 3.3.2 + version: 3.4.0 build: h2466b09_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/openssl-3.3.2-h2466b09_0.conda - sha256: a45c42f3577294e22ac39ddb6ef5a64fd5322e8a6725afefbf4f2b4109340bf9 - md5: 1dc86753693df5e3326bb8a85b74c589 + url: https://conda.anaconda.org/conda-forge/win-64/openssl-3.4.0-h2466b09_0.conda + sha256: e03045a0837e01ff5c75e9273a572553e7522290799807f918c917a9826a6484 + md5: d0d805d9b5524a14efb51b3bff965e83 depends: - ca-certificates - ucrt >=10.0.20348.0 @@ -4137,32 +4140,32 @@ packages: license: Apache-2.0 license_family: Apache purls: [] - size: 8396053 - timestamp: 1725412961673 + size: 8491156 + timestamp: 1731379715927 - kind: conda name: openssl - version: 3.3.2 - build: h8359307_0 + version: 3.4.0 + build: h39f12f2_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.3.2-h8359307_0.conda - sha256: 940fa01c4dc6152158fe8943e05e55a1544cab639df0994e3b35937839e4f4d1 - md5: 1773ebccdc13ec603356e8ff1db9e958 + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + sha256: bd1d58ced46e75efa3b842c61642fd12272c69e9fe4d7261078bc082153a1d53 + md5: df307bbc703324722df0293c9ca2e418 depends: - __osx >=11.0 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 2882450 - timestamp: 1725410638874 + size: 2935176 + timestamp: 1731377561525 - kind: conda name: openssl - version: 3.3.2 + version: 3.4.0 build: hb9d3cd8_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.2-hb9d3cd8_0.conda - sha256: cee91036686419f6dd6086902acf7142b4916e1c4ba042e9ca23e151da012b6d - md5: 4d638782050ab6faa27275bed57e9b4e + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.4.0-hb9d3cd8_0.conda + sha256: 814b9dff1847b132c676ee6cc1a8cb2d427320779b93e1b6d76552275c128705 + md5: 23cc74f77eb99315c0360ec3533147a9 depends: - __glibc >=2.17,<3.0.a0 - ca-certificates @@ -4170,41 +4173,41 @@ packages: license: Apache-2.0 license_family: Apache purls: [] - size: 2891789 - timestamp: 1725410790053 + size: 2947466 + timestamp: 1731377666602 - kind: conda name: openssl - version: 3.3.2 - build: hd23fc13_0 + version: 3.4.0 + build: hd471939_0 subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.3.2-hd23fc13_0.conda - sha256: 2b75d4b56e45992adf172b158143742daeb316c35274b36f385ccb6644e93268 - md5: 2ff47134c8e292868a4609519b1ea3b6 + url: https://conda.anaconda.org/conda-forge/osx-64/openssl-3.4.0-hd471939_0.conda + sha256: ba7e068ed469d6625e32ae60e6ad893e655b6695280dadf7e065ed0b6f3b885c + md5: ec99d2ce0b3033a75cbad01bbc7c5b71 depends: - __osx >=10.13 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 2544654 - timestamp: 1725410973572 + size: 2590683 + timestamp: 1731378034404 - kind: conda name: packaging - version: '24.1' + version: '24.2' build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.1-pyhd8ed1ab_0.conda - sha256: 36aca948219e2c9fdd6d80728bcc657519e02f06c2703d8db3446aec67f51d81 - md5: cbe1bb1f21567018ce595d9c2be0f0db + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda + sha256: 0f8273bf66c2a5c1de72312a509deae07f163bb0ae8de8273c52e6fe945a0850 + md5: c16469afe1ec91aaafcf4bea966c0465 depends: - python >=3.8 license: Apache-2.0 license_family: APACHE purls: - pkg:pypi/packaging?source=hash-mapping - size: 50290 - timestamp: 1718189540074 + size: 60345 + timestamp: 1731457074006 - kind: conda name: pathspec version: 0.12.1 @@ -4252,8 +4255,8 @@ packages: - kind: pypi name: pillow version: 11.0.0 - url: https://files.pythonhosted.org/packages/44/ae/7e4f6662a9b1cb5f92b9cc9cab8321c381ffbee309210940e57432a4063a/pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl - sha256: c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa + url: https://files.pythonhosted.org/packages/63/24/e2e15e392d00fcf4215907465d8ec2a2f23bcec1481a8ebe4ae760459995/pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl + sha256: bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699 requires_dist: - furo ; extra == 'docs' - olefile ; extra == 'docs' @@ -4279,8 +4282,8 @@ packages: - kind: pypi name: pillow version: 11.0.0 - url: https://files.pythonhosted.org/packages/63/24/e2e15e392d00fcf4215907465d8ec2a2f23bcec1481a8ebe4ae760459995/pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl - sha256: bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699 + url: https://files.pythonhosted.org/packages/a5/26/0d95c04c868f6bdb0c447e3ee2de5564411845e36a858cfd63766bc7b563/pillow-11.0.0.tar.gz + sha256: 72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739 requires_dist: - furo ; extra == 'docs' - olefile ; extra == 'docs' @@ -4366,33 +4369,31 @@ packages: timestamp: 1713667175451 - kind: conda name: psutil - version: 6.0.0 - build: py313h536fd9c_2 - build_number: 2 + version: 6.1.0 + build: py312h66e93f0_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.0.0-py313h536fd9c_2.conda - sha256: 512b202032731febf4c426346008a204687ae753eb9a8502e4cb5085a76162cf - md5: e9d1573e087e6d9933097a361a294c12 + url: https://conda.anaconda.org/conda-forge/linux-64/psutil-6.1.0-py312h66e93f0_0.conda + sha256: 0f309b435174e037d5cfe5ed26c1c5ad8152c68cfe61af17709ec31ec3d9f096 + md5: 0524eb91d3d78d76d671c6e3cd7cee82 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - pkg:pypi/psutil?source=hash-mapping - size: 498288 - timestamp: 1728965351733 + size: 488462 + timestamp: 1729847159916 - kind: conda name: psutil - version: 6.0.0 - build: py313h63a2874_2 - build_number: 2 + version: 6.1.0 + build: py313h63a2874_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.0.0-py313h63a2874_2.conda - sha256: 25e814578e545cb78218e6da2e3d351d2c3ec883dcf990922d9efe99d17ecd54 - md5: 72e74c2409412a78a02558009ca9c3fe + url: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.0-py313h63a2874_0.conda + sha256: 06bc9b6eda080fea24e7948ace631b358a9994a6a84394a6c1cd14f1615ebbf4 + md5: 6f4dae78857fd194485497ed0a6762ab depends: - __osx >=11.0 - python >=3.13,<3.14.0a0 @@ -4402,17 +4403,16 @@ packages: license_family: BSD purls: - pkg:pypi/psutil?source=hash-mapping - size: 507121 - timestamp: 1728965384394 + size: 501427 + timestamp: 1729847280285 - kind: conda name: psutil - version: 6.0.0 - build: py313ha7868ed_2 - build_number: 2 + version: 6.1.0 + build: py313ha7868ed_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/psutil-6.0.0-py313ha7868ed_2.conda - sha256: 1ab9fd887267475987fdd75cff620c12213f1c3eae971f3635b4d599389d0996 - md5: 5f719fecbc90bf2867004f64a91a791d + url: https://conda.anaconda.org/conda-forge/win-64/psutil-6.1.0-py313ha7868ed_0.conda + sha256: d58defe84d46da1a7e80283e165d6a9d09378fd830b48917751a318ab5a5d4ce + md5: d13841485f9159f317a4e8bb974e9c8e depends: - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 @@ -4423,17 +4423,16 @@ packages: license_family: BSD purls: - pkg:pypi/psutil?source=hash-mapping - size: 516898 - timestamp: 1728965695535 + size: 508489 + timestamp: 1729847497486 - kind: conda name: psutil - version: 6.0.0 - build: py313hb558fbc_2 - build_number: 2 + version: 6.1.0 + build: py313hb558fbc_0 subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/psutil-6.0.0-py313hb558fbc_2.conda - sha256: da116df6cfe4e90a5dfaa2313b0c14d4dd82b387e92dd76a01fda1cda66ec70f - md5: 9dbc6b02c7edd57c5085c26ef88010e1 + url: https://conda.anaconda.org/conda-forge/osx-64/psutil-6.1.0-py313hb558fbc_0.conda + sha256: 68f7069302768c93e0bce8233a00ba13c5c8ca069779a7d8c84ad81cf8d86542 + md5: 6b9bcae4917442ec9054a5b6a859452b depends: - __osx >=10.13 - python >=3.13,<3.14.0a0 @@ -4442,8 +4441,8 @@ packages: license_family: BSD purls: - pkg:pypi/psutil?source=hash-mapping - size: 505339 - timestamp: 1728965303539 + size: 501944 + timestamp: 1729847219864 - kind: conda name: pthreads-win32 version: 2.9.1 @@ -4497,13 +4496,13 @@ packages: requires_python: '>=3.9' - kind: conda name: pyproject-metadata - version: 0.8.1 + version: 0.9.0 build: pyh2cfa8aa_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.8.1-pyh2cfa8aa_0.conda - sha256: 3dc45c1034b6fba6d1e14f85c0ab3fcef3079b17195ee43292f89de085a3b02e - md5: c503dd01a15639101d4e38c0f0da6249 + url: https://conda.anaconda.org/conda-forge/noarch/pyproject-metadata-0.9.0-pyh2cfa8aa_0.conda + sha256: 9f15e9eb85c1eed2e95b539f4f82dd4180b1d089524c05b49ee1de125c6b827d + md5: 10906a130eeb4a68645bf97c28333141 depends: - packaging >=19.0 - python >=3.7 @@ -4511,8 +4510,8 @@ packages: license_family: MIT purls: - pkg:pypi/pyproject-metadata?source=hash-mapping - size: 13371 - timestamp: 1728344821661 + size: 21348 + timestamp: 1729669730350 - kind: conda name: pyproject_hooks version: 1.2.0 @@ -4558,63 +4557,67 @@ packages: timestamp: 1725977334143 - kind: conda name: pytest-cov - version: 5.0.0 + version: 6.0.0 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-5.0.0-pyhd8ed1ab_0.conda - sha256: 218306243faf3c36347131c2b36bb189daa948ac2e92c7ab52bb26cc8c157b3c - md5: c54c0107057d67ddf077751339ec2c63 + url: https://conda.anaconda.org/conda-forge/noarch/pytest-cov-6.0.0-pyhd8ed1ab_0.conda + sha256: 915323edaee9f6f3ebd8c2e5450b4865700edf2c85eb2bba61980e66c6f03c5d + md5: cb8a11b6d209e3d85e5094bdbd9ebd9c depends: - - coverage >=5.2.1 + - coverage >=7.5 - pytest >=4.6 - - python >=3.8 + - python >=3.9 - toml license: MIT license_family: MIT purls: - pkg:pypi/pytest-cov?source=hash-mapping - size: 25507 - timestamp: 1711411153367 + size: 26218 + timestamp: 1730284385470 - kind: conda name: python - version: 3.13.0 - build: h0608dab_100_cp313 - build_number: 100 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.0-h0608dab_100_cp313.conda - sha256: f4c8ca4c34cb2a508956cfc8c2130dc30f168a75ae8254da8c43b5dce10ed2ea - md5: 9603103619775a3f99fe4b58d278775e + version: 3.12.7 + build: hc5c86c4_0_cpython + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.7-hc5c86c4_0_cpython.conda + sha256: 674be31ff152d9f0e0fe16959a45e3803a730fc4f54d87df6a9ac4e6a698c41d + md5: 0515111a9cdf69f83278f7c197db9807 depends: - - __osx >=10.13 + - __glibc >=2.17,<3.0.a0 - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 - libexpat >=2.6.3,<3.0a0 - libffi >=3.4,<4.0a0 - - libmpdec >=4.0.0,<5.0a0 + - libgcc >=13 + - libnsl >=2.0.1,<2.1.0a0 - libsqlite >=3.46.1,<4.0a0 + - libuuid >=2.38.1,<3.0a0 + - libxcrypt >=4.4.36 - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.0a0 - openssl >=3.3.2,<4.0a0 - - python_abi 3.13.* *_cp313 - readline >=8.2,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 license: Python-2.0 purls: [] - size: 13933848 - timestamp: 1729169951268 + size: 31574780 + timestamp: 1728059777603 - kind: conda name: python version: 3.13.0 - build: h75c3a9f_100_cp313 + build: h0608dab_100_cp313 build_number: 100 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.0-h75c3a9f_100_cp313.conda - sha256: be9464399b76ae1fef77853eed70267ef657a98a5f69f7df012b7c6a34792151 - md5: 94ae22ea862d056ad1bc095443d02d73 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/python-3.13.0-h0608dab_100_cp313.conda + sha256: f4c8ca4c34cb2a508956cfc8c2130dc30f168a75ae8254da8c43b5dce10ed2ea + md5: 9603103619775a3f99fe4b58d278775e depends: - - __osx >=11.0 + - __osx >=10.13 - bzip2 >=1.0.8,<2.0a0 - libexpat >=2.6.3,<3.0a0 - libffi >=3.4,<4.0a0 @@ -4630,27 +4633,24 @@ packages: - xz >=5.2.6,<6.0a0 license: Python-2.0 purls: [] - size: 12804842 - timestamp: 1729168680448 + size: 13933848 + timestamp: 1729169951268 - kind: conda name: python version: 3.13.0 - build: h9ebbce0_100_cp313 + build: h75c3a9f_100_cp313 build_number: 100 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.0-h9ebbce0_100_cp313.conda - sha256: 6ab5179679f0909db828d8316f3b8b379014a82404807310fe7df5a6cf303646 - md5: 08e9aef080f33daeb192b2ddc7e4721f + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.0-h75c3a9f_100_cp313.conda + sha256: be9464399b76ae1fef77853eed70267ef657a98a5f69f7df012b7c6a34792151 + md5: 94ae22ea862d056ad1bc095443d02d73 depends: - - __glibc >=2.17,<3.0.a0 + - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - libexpat >=2.6.3,<3.0a0 - libffi >=3.4,<4.0a0 - - libgcc >=13 - libmpdec >=4.0.0,<5.0a0 - libsqlite >=3.46.1,<4.0a0 - - libuuid >=2.38.1,<3.0a0 - libzlib >=1.3.1,<2.0a0 - ncurses >=6.5,<7.0a0 - openssl >=3.3.2,<4.0a0 @@ -4661,8 +4661,8 @@ packages: - xz >=5.2.6,<6.0a0 license: Python-2.0 purls: [] - size: 33112481 - timestamp: 1728419573472 + size: 12804842 + timestamp: 1729168680448 - kind: conda name: python version: 3.13.0 @@ -4722,23 +4722,23 @@ packages: sha256: a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 requires_dist: - six>=1.5 - requires_python: '!=3.0.*,!=3.1.*,!=3.2.*,>=2.7' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' - kind: conda name: python_abi - version: '3.13' - build: 5_cp313 + version: '3.12' + build: 5_cp312 build_number: 5 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.13-5_cp313.conda - sha256: 438225b241c5f9bddae6f0178a97f5870a89ecf927dfca54753e689907331442 - md5: 381bbd2a92c863f640a55b6ff3c35161 + url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-5_cp312.conda + sha256: d10e93d759931ffb6372b45d65ff34d95c6000c61a07e298d162a3bc2accebb0 + md5: 0424ae29b104430108f5218a66db7260 constrains: - - python 3.13.* *_cp313 + - python 3.12.* *_cpython license: BSD-3-Clause license_family: BSD purls: [] - size: 6217 - timestamp: 1723823393322 + size: 6238 + timestamp: 1723823388266 - kind: conda name: python_abi version: '3.13' @@ -4842,85 +4842,87 @@ packages: url: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl sha256: 70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 requires_dist: - - charset-normalizer<4,>=2 - - idna<4,>=2.5 - - urllib3<3,>=1.21.1 + - charset-normalizer>=2,<4 + - idna>=2.5,<4 + - urllib3>=1.21.1,<3 - certifi>=2017.4.17 - - pysocks!=1.5.7,>=1.5.6 ; extra == 'socks' - - chardet<6,>=3.0.2 ; extra == 'use-chardet-on-py3' + - pysocks>=1.5.6,!=1.5.7 ; extra == 'socks' + - chardet>=3.0.2,<6 ; extra == 'use-chardet-on-py3' requires_python: '>=3.8' - kind: conda name: ruff - version: 0.7.0 - build: py313h3973d75_0 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.7.0-py313h3973d75_0.conda - sha256: c3cc0c59705aa1305d0139f79f729360c8ea733e329bb805e87afbb5d7fb4560 - md5: 08a7f4fa6ad5f06477bde9286a79e548 + version: 0.7.3 + build: py312h2156523_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.7.3-py312h2156523_0.conda + sha256: 313110b1c431fe61cb3fe5e1cc4f1ffce905e95aab559055d1a86039c8ea7e35 + md5: ed126dd09a1f2081996c5b71423a2b80 depends: - - __osx >=10.13 - - libcxx >=17 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + - libstdcxx >=13 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 constrains: - - __osx >=10.12 + - __glibc >=2.17 license: MIT license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 6674688 - timestamp: 1729519279743 + size: 7767902 + timestamp: 1731084470644 - kind: conda name: ruff - version: 0.7.0 - build: py313h7fc4895_0 - subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/ruff-0.7.0-py313h7fc4895_0.conda - sha256: f1fbcaa351eec08b50d64c5e0973ca2018f606d554343bc0d96b6fc6242225de - md5: 7e1d52c1895aee6eb43f8cac874a9063 + version: 0.7.3 + build: py313h2493e73_0 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/ruff-0.7.3-py313h2493e73_0.conda + sha256: da697673f5b0a262e23bd06c2c7da981a8030bb71fea65211461cb2a074559e2 + md5: 7839d705328bbd8bbea6d0640883ef22 depends: + - __osx >=10.13 + - libcxx >=18 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 - - ucrt >=10.0.20348.0 - - vc >=14.2,<15 - - vc14_runtime >=14.29.30139 + constrains: + - __osx >=10.13 license: MIT license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 6865573 - timestamp: 1729519869648 + size: 7150721 + timestamp: 1731084661752 - kind: conda name: ruff - version: 0.7.0 - build: py313h890c02e_0 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ruff-0.7.0-py313h890c02e_0.conda - sha256: fbf2096c9a9fe35956ae214e0cba88efb9c12f578b32f437fccebb6c95de911f - md5: c64e3b366ae473102289e165eadd102e + version: 0.7.3 + build: py313h331c231_0 + subdir: win-64 + url: https://conda.anaconda.org/conda-forge/win-64/ruff-0.7.3-py313h331c231_0.conda + sha256: 4c301d063b1bb5ef793c4e28a34836cd0cb8656680b067646f3b2be909cf30f8 + md5: 1c3729796124b0fcb53a017ca9a348ce depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - - libstdcxx >=13 - python >=3.13,<3.14.0a0 - python_abi 3.13.* *_cp313 + - ucrt >=10.0.20348.0 + - vc >=14.2,<15 + - vc14_runtime >=14.29.30139 license: MIT license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 6976990 - timestamp: 1729519076999 + size: 6778389 + timestamp: 1731085064447 - kind: conda name: ruff - version: 0.7.0 - build: py313ha6603fc_0 + version: 0.7.3 + build: py313heab95af_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.7.0-py313ha6603fc_0.conda - sha256: 84134c25fbeda23180fc8bb5558932dd885084d4516767f54e42217567a2e417 - md5: 330fab055e9c8b8525fe6de3c518277f + url: https://conda.anaconda.org/conda-forge/osx-arm64/ruff-0.7.3-py313heab95af_0.conda + sha256: 45ece98aeb19cfda0e6cb6726e3a7afaccd50ccb70f6f1dbe9c8342bf6f6662c + md5: 56268c148f06f7d4bbd3b3940a2b873e depends: - __osx >=11.0 - - libcxx >=17 + - libcxx >=18 - python >=3.13,<3.14.0a0 - python >=3.13,<3.14.0a0 *_cp313 - python_abi 3.13.* *_cp313 @@ -4930,8 +4932,34 @@ packages: license_family: MIT purls: - pkg:pypi/ruff?source=hash-mapping - size: 6329752 - timestamp: 1729519926110 + size: 6858893 + timestamp: 1731084445790 +- kind: conda + name: scikit-learn + version: 1.5.2 + build: py312h7a48858_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.5.2-py312h7a48858_1.conda + sha256: 3118b687c7cfb4484cc5c65591b611d834e3ea2424cb75e1e0b0980d0de72afc + md5: 6b5f4c68483bd0c22bca9094dafc606b + depends: + - __glibc >=2.17,<3.0.a0 + - _openmp_mutex >=4.5 + - joblib >=1.2.0 + - libgcc >=13 + - libstdcxx >=13 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - scipy + - threadpoolctl >=3.1.0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/scikit-learn?source=hash-mapping + size: 10393222 + timestamp: 1726083382159 - kind: conda name: scikit-learn version: 1.5.2 @@ -5009,31 +5037,34 @@ packages: size: 9331778 timestamp: 1726083562938 - kind: conda - name: scikit-learn - version: 1.5.2 - build: py313h8ef605b_1 + name: scipy + version: 1.14.1 + build: py312h62794b6_1 build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/scikit-learn-1.5.2-py313h8ef605b_1.conda - sha256: 5692b3af46eb4b5a16150189782b9603b3afb2f63311592e09732f1efbd6e1c0 - md5: 4c286f27b4f5b8c622d1481e3e057d1f + url: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py312h62794b6_1.conda + sha256: d069a64edade554261672d8febf4756aeb56a6cb44bd91844eaa944e5d9f4eb9 + md5: b43233a9e2f62fb94affe5607ea79473 depends: - __glibc >=2.17,<3.0.a0 - - _openmp_mutex >=4.5 - - joblib >=1.2.0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 - libgcc >=13 + - libgfortran + - libgfortran5 >=13.3.0 + - liblapack >=3.9.0,<4.0a0 - libstdcxx >=13 - - numpy >=1.21,<3 - - python >=3.13.0rc2,<3.14.0a0 - - python_abi 3.13.* *_cp313 - - scipy - - threadpoolctl >=3.1.0 + - numpy <2.3 + - numpy >=1.19,<3 + - numpy >=1.23.5 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD purls: - - pkg:pypi/scikit-learn?source=hash-mapping - size: 10497980 - timestamp: 1726083319119 + - pkg:pypi/scipy?source=hash-mapping + size: 17622722 + timestamp: 1729481826601 - kind: conda name: scipy version: 1.14.1 @@ -5061,35 +5092,6 @@ packages: - pkg:pypi/scipy?source=hash-mapping size: 16018018 timestamp: 1729482196516 -- kind: conda - name: scipy - version: 1.14.1 - build: py313h27c5614_1 - build_number: 1 - subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.14.1-py313h27c5614_1.conda - sha256: e42a0702ae5c2d45e4ee85d50b8dfbfe4966cab51e8216c9ae7bd40c6c3c4189 - md5: c5c52b95724a6d4adb72499912eea085 - depends: - - __glibc >=2.17,<3.0.a0 - - libblas >=3.9.0,<4.0a0 - - libcblas >=3.9.0,<4.0a0 - - libgcc >=13 - - libgfortran - - libgfortran5 >=13.3.0 - - liblapack >=3.9.0,<4.0a0 - - libstdcxx >=13 - - numpy <2.4 - - numpy >=1.21,<3 - - numpy >=1.23.5 - - python >=3.13,<3.14.0a0 - - python_abi 3.13.* *_cp313 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/scipy?source=hash-mapping - size: 17682454 - timestamp: 1729482237410 - kind: conda name: scipy version: 1.14.1 @@ -5149,21 +5151,21 @@ packages: timestamp: 1729481595130 - kind: conda name: setuptools - version: 75.1.0 + version: 75.3.0 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.1.0-pyhd8ed1ab_0.conda - sha256: 6725235722095c547edd24275053c615158d6163f396550840aebd6e209e4738 - md5: d5cd48392c67fb6849ba459c2c2b671f + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-75.3.0-pyhd8ed1ab_0.conda + sha256: a36d020b9f32fc3f1a6488a1c4a9c13988c6468faf6895bf30ca69521a61230e + md5: 2ce9825396daf72baabaade36cee16da depends: - python >=3.8 license: MIT license_family: MIT purls: - pkg:pypi/setuptools?source=hash-mapping - size: 777462 - timestamp: 1727249510532 + size: 779561 + timestamp: 1730382173961 - kind: conda name: sigtool version: 0.1.3 @@ -5568,21 +5570,21 @@ packages: timestamp: 1604308660817 - kind: conda name: tomli - version: 2.0.2 - build: pyhd8ed1ab_0 + version: 2.1.0 + build: pyhff2d567_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.2-pyhd8ed1ab_0.conda - sha256: 5e742ba856168b606ac3c814d247657b1c33b8042371f1a08000bdc5075bc0cc - md5: e977934e00b355ff55ed154904044727 + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.1.0-pyhff2d567_0.conda + sha256: 354b8a64d4f3311179d85aefc529ca201a36afc1af090d0010c46be7b79f9a47 + md5: 3fa1089b4722df3a900135925f4519d9 depends: - - python >=3.7 + - python >=3.9 license: MIT license_family: MIT purls: - pkg:pypi/tomli?source=hash-mapping - size: 18203 - timestamp: 1727974767524 + size: 18741 + timestamp: 1731426862834 - kind: conda name: typing_extensions version: 4.12.2 @@ -5636,18 +5638,18 @@ packages: requires_dist: - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli' - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' - - h2<5,>=4 ; extra == 'h2' - - pysocks!=1.5.7,<2.0,>=1.5.6 ; extra == 'socks' + - h2>=4,<5 ; extra == 'h2' + - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' - zstandard>=0.18.0 ; extra == 'zstd' requires_python: '>=3.8' - kind: conda name: uv - version: 0.4.25 + version: 0.5.1 build: h0f3a69f_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/uv-0.4.25-h0f3a69f_0.conda - sha256: 66ec8fc80cebbabef8a43a8a420f6540399200dcc0c9195db0bdda2836eee7be - md5: f820dec118406e896be62db8c53151ad + url: https://conda.anaconda.org/conda-forge/linux-64/uv-0.5.1-h0f3a69f_0.conda + sha256: 9bda0a65af5d2865cfe887dd90dbf04ed97bf6920a1c223396036e1c1f831f58 + md5: 2f0601933384868b7c34193247a1b167 depends: - __glibc >=2.17,<3.0.a0 - libgcc >=13 @@ -5656,58 +5658,58 @@ packages: - __glibc >=2.17 license: Apache-2.0 OR MIT purls: [] - size: 9403871 - timestamp: 1729526779016 + size: 9804886 + timestamp: 1731134694659 - kind: conda name: uv - version: 0.4.25 - build: h3a35632_0 - subdir: osx-64 - url: https://conda.anaconda.org/conda-forge/osx-64/uv-0.4.25-h3a35632_0.conda - sha256: db4dd667b1e78199412010a125c796c5bc9802ecc2d0e1c10f706cbb42c69417 - md5: c27beb3bc2723f2d3065e4d6a94657e7 + version: 0.5.1 + build: h668ec48_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.5.1-h668ec48_0.conda + sha256: a9275898733ebbe40ad0b3a3f2ca7b7c8861309d48396e188f6ba433a7206de1 + md5: 96791a25fa69cd8db922861f257adccd depends: - - __osx >=10.13 - - libcxx >=17 + - __osx >=11.0 + - libcxx >=18 constrains: - - __osx >=10.13 + - __osx >=11.0 license: Apache-2.0 OR MIT purls: [] - size: 9047274 - timestamp: 1729527682448 + size: 8674748 + timestamp: 1731135650399 - kind: conda name: uv - version: 0.4.25 - build: h41fe3af_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/uv-0.4.25-h41fe3af_0.conda - sha256: 365063aa057bdb0f755449bb1f9490462c191109071a4ebb6b9648587558109e - md5: f736f9177b89edfccfe67650cbd05839 + version: 0.5.1 + build: h8de1528_0 + subdir: osx-64 + url: https://conda.anaconda.org/conda-forge/osx-64/uv-0.5.1-h8de1528_0.conda + sha256: ef5af89267bfadec1fc8b1b7183a8f1af686147e6f6fc5b19b87c56fa9136228 + md5: b09d0da73064bde62006e802df19f44e depends: - - __osx >=11.0 - - libcxx >=17 + - __osx >=10.13 + - libcxx >=18 constrains: - - __osx >=11.0 + - __osx >=10.13 license: Apache-2.0 OR MIT purls: [] - size: 8475727 - timestamp: 1729527780770 + size: 9344837 + timestamp: 1731135239423 - kind: conda name: uv - version: 0.4.25 + version: 0.5.1 build: ha08ef0e_0 subdir: win-64 - url: https://conda.anaconda.org/conda-forge/win-64/uv-0.4.25-ha08ef0e_0.conda - sha256: 74ae665e93b8ed325ea30864c2d341ee57c1c4878dba3bf2781828b1be58031d - md5: 2162d0190d22bbf556365c076f60739c + url: https://conda.anaconda.org/conda-forge/win-64/uv-0.5.1-ha08ef0e_0.conda + sha256: 14c1a23e7ef6694d1bd7eef5edb9a5819d19ddf1006a5deda012d017932292f3 + md5: 442819ddf83c287ddd3078477cafd57d depends: - ucrt >=10.0.20348.0 - vc >=14.2,<15 - vc14_runtime >=14.29.30139 license: Apache-2.0 OR MIT purls: [] - size: 10356663 - timestamp: 1729527565706 + size: 10691540 + timestamp: 1731135656601 - kind: conda name: vc version: '14.3' @@ -5815,21 +5817,21 @@ packages: timestamp: 1660346976440 - kind: conda name: zipp - version: 3.20.2 + version: 3.21.0 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.20.2-pyhd8ed1ab_0.conda - sha256: 1e84fcfa41e0afdd87ff41e6fbb719c96a0e098c1f79be342293ab0bd8dea322 - md5: 4daaed111c05672ae669f7036ee5bba3 + url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.21.0-pyhd8ed1ab_0.conda + sha256: 232a30e4b0045c9de5e168dda0328dc0e28df9439cdecdfb97dd79c1c82c4cec + md5: fee389bf8a4843bd7a2248ce11b7f188 depends: - python >=3.8 license: MIT license_family: MIT purls: - pkg:pypi/zipp?source=hash-mapping - size: 21409 - timestamp: 1726248679175 + size: 21702 + timestamp: 1731262194278 - kind: conda name: zlib version: 1.3.1 diff --git a/tests/test_fastcan.py b/tests/test_fastcan.py index 0be407d..610fb73 100644 --- a/tests/test_fastcan.py +++ b/tests/test_fastcan.py @@ -58,13 +58,14 @@ def test_select_kbest_classif(): gtruth[:n_informative] = 1 assert_array_equal(support, gtruth) -def test_indices_include(): +def test_indices_include_exclude(): # Test whether fastcan can select informative features based - # on some pre-include features + # on some pre-include features and pre-exclude features n_samples = 20 n_features = 20 n_targets = 8 n_informative = 5 + indices_params = [0, 3] X, y = make_regression( n_samples=n_samples, @@ -76,16 +77,24 @@ def test_indices_include(): random_state=0, ) - correlation_filter = FastCan( + include_filter = FastCan( n_features_to_select=n_informative, - indices_include=[0, 3] + indices_include=indices_params ) - correlation_filter.fit(X, y) + exclude_filter = FastCan( + n_features_to_select=n_informative, + indices_exclude=indices_params + ) + include_filter.fit(X, y) + exclude_filter.fit(X, y) - support = correlation_filter.get_support() + include_support = include_filter.get_support() + exclude_support = exclude_filter.get_support() gtruth = np.zeros(n_features) gtruth[:n_informative] = 1 - assert_array_equal(support, gtruth) + assert_array_equal(include_support, gtruth) + gtruth[indices_params] = 0 + assert_array_equal(exclude_support[:n_informative], gtruth[:n_informative]) def test_ssc_consistent_with_cca(): # Test whether the ssc got from the fastcan is consistent @@ -193,13 +202,13 @@ def test_raise_errors(): with pytest.raises(ValueError, match=r"n_features_to_select .*"): selector_n_select.fit(X, y) - with pytest.raises(ValueError, match=r"n_inclusions .*"): + with pytest.raises(ValueError, match=r"The number of indices .*"): selector_n_inclusions.fit(X, y) with pytest.raises(ValueError, match=r"Out of bounds. .*"): selector_indices_include_bounds.fit(X, y) - with pytest.raises(ValueError, match=r"Found indices_include with dim .*"): + with pytest.raises(ValueError, match=r"Found indices_params with dim .*"): selector_indices_include_ndim.fit(X, y) with pytest.raises(ValueError, match=r"`eta` cannot be True, .*"): @@ -223,3 +232,5 @@ def test_cython_errors(): with pytest.raises(RuntimeError, match=r"No candidate feature can .*"): # No candidate selector_no_cand.fit(np.c_[x_sub, x_sub[:, 0]+x_sub[:, 1]], y) + +test_indices_include_exclude()