[run-exclusive] h0136-census-after starting; load was 0.18
run-heavy: pgid=12 (stop with: kill -- -12)
........................................................................ [  0%]
........................................................................ [  1%]
........................................................................ [  1%]
........................................................................ [  2%]
........................................................................ [  2%]
........................................................................ [  3%]
........................................................................ [  3%]
........................................................................ [  4%]
........................................................................ [  4%]
........................................................................ [  5%]
........................................................................ [  5%]
........................................................................ [  6%]
........................................................................ [  6%]
........................................................................ [  7%]
........................................................................ [  8%]
........................................................................ [  8%]
........................................................................ [  9%]
........................................................................ [  9%]
........................................................................ [ 10%]
........................................................................ [ 10%]
........................................................................ [ 11%]
........................................................................ [ 11%]
........................................................................ [ 12%]
........................................................................ [ 12%]
........................................................................ [ 13%]
........................................................................ [ 13%]
........................................................................ [ 14%]
........................................................................ [ 15%]
........................................................................ [ 15%]
............................ss.....ss.....ss.....ss.....ss.....ss.....ss [ 16%]
.....ss.....ss.....ss.....ss.....ss.....ss.....ss.....ss.....ss.....ss.. [ 16%]
...ss.....ss.....ss.....ss.....ss.....ss.....ss.....ss.....ss.....ss.... [ 17%]
.ss.....ss......ss......ss......ss......ss......ss......ss......ss...... [ 17%]
ss......ss......ss..ss.....ss......ss......ss......ss......ss......ss... [ 18%]
...ss......ss......ss......ss......ss......ss..ss.....ss......ss......ss [ 18%]
......ss......ss......ss......ss......ss......ss......ss......ss......ss [ 19%]
......ss......ss......ss......ss......ss......ss......ss......ss......ss [ 19%]
......ss......ss......ss......ss......ss......ss......ss......ss......ss [ 20%]
......ss......ss......ss......ss......ss................................ [ 20%]
...................ss......ss......ss......ss......ss......ss......ss... [ 21%]
...ss......ss......ss......ss......ss......ss......ss......ss......ss... [ 22%]
...ss......ss......ss......ss......ss......ss......ss......ss......ss... [ 22%]
...ss......ss........................................................... [ 23%]
........................................................................ [ 23%]
........................................................................ [ 24%]
........................................................................ [ 24%]
........................................................................ [ 25%]
........................................................................ [ 25%]
........................................................................ [ 26%]
........................................................................ [ 26%]
........................................................................ [ 27%]
........................................................................ [ 27%]
........................................................................ [ 28%]
........................................................................ [ 29%]
........................................................................ [ 29%]
........................................................................ [ 30%]
........................................................................ [ 30%]
........................................................................ [ 31%]
........................................................................ [ 31%]
........................................................................ [ 32%]
........................................................................ [ 32%]
........................................................................ [ 33%]
........................................................................ [ 33%]
........................................................................ [ 34%]
........................................................................ [ 34%]
........................................................................ [ 35%]
........................................................................ [ 36%]
........................................................................ [ 36%]
........................................................................ [ 37%]
........................................................................ [ 37%]
........................................................................ [ 38%]
........................................................................ [ 38%]
........................................................................ [ 39%]
........................................................................ [ 39%]
........................................................................ [ 40%]
........................................................................ [ 40%]
........................................................................ [ 41%]
........................................................................ [ 41%]
........................................................................ [ 42%]
........................................................................ [ 43%]
........................................................................ [ 43%]
........................................................................ [ 44%]
........................................................................ [ 44%]
........................................................................ [ 45%]
........................................................................ [ 45%]
........................................................................ [ 46%]
........................................................................ [ 46%]
........................................................................ [ 47%]
........................................................................ [ 47%]
........................................................................ [ 48%]
........................................................................ [ 48%]
........................................................................ [ 49%]
........................................................................ [ 50%]
........................................................................ [ 50%]
........................................................................ [ 51%]
........................................................................ [ 51%]
........................................................................ [ 52%]
........................................................................ [ 52%]
........................................................................ [ 53%]
........................................................................ [ 53%]
........................................................................ [ 54%]
........................................................................ [ 54%]
........................................................................ [ 55%]
........................................................................ [ 55%]
........................................................................ [ 56%]
........................................................................ [ 57%]
........................................................................ [ 57%]
........................................................................ [ 58%]
........................................................................ [ 58%]
........................................................................ [ 59%]
........................................................................ [ 59%]
........................................................................ [ 60%]
........................................................................ [ 60%]
........................................................................ [ 61%]
........................................................................ [ 61%]
........................................................................ [ 62%]
........................................................................ [ 62%]
........................................................................ [ 63%]
........................................................................ [ 64%]
........................................................................ [ 64%]
........................................................................ [ 65%]
........................................................................ [ 65%]
........................................................................ [ 66%]
........................................................................ [ 66%]
........................................................................ [ 67%]
........................................................................ [ 67%]
..............................................................F......... [ 68%]
........................................................................ [ 68%]
........................................................................ [ 69%]
........................................................................ [ 69%]
........................................................................ [ 70%]
........................................................................ [ 71%]
........................................................................ [ 71%]
........................................................................ [ 72%]
........................................................................ [ 72%]
........................................................................ [ 73%]
........................................................................ [ 73%]
........................................................................ [ 74%]
........................................................................ [ 74%]
........................................................................ [ 75%]
........................................................................ [ 75%]
........................................................................ [ 76%]
........................................................................ [ 76%]
..........................................F............................. [ 77%]
....................................s................................... [ 78%]
........................................................................ [ 78%]
........................................................................ [ 79%]
........................................................................ [ 79%]
........................................s..............s................ [ 80%]
.................................................................s...... [ 80%]
........s............................................................... [ 81%]
........................................................................ [ 81%]
........................................................................ [ 82%]
.................................................ssssssssss............. [ 82%]
........................................................................ [ 83%]
........................................................................ [ 83%]
........................................................................ [ 84%]
........................................................................ [ 85%]
........................................................................ [ 85%]
........................................................................ [ 86%]
........................................................................ [ 86%]
........................................................................ [ 87%]
........................................................................ [ 87%]
........................................................................ [ 88%]
........................................................................ [ 88%]
........................................................................ [ 89%]
........................................................................ [ 89%]
........................................................................ [ 90%]
........................................................................ [ 90%]
........................................................................ [ 91%]
........................................................................ [ 92%]
........................................................................ [ 92%]
........................................................................ [ 93%]
........................................................................ [ 93%]
........................................................................ [ 94%]
........................................................................ [ 94%]
........................................................................ [ 95%]
........................................................................ [ 95%]
........................................................................ [ 96%]
........................................................................ [ 96%]
........................................................................ [ 97%]
........................................................................ [ 97%]
........................................................................ [ 98%]
........................................................................ [ 99%]
........................................................................ [ 99%]
....................................................                     [100%]
=================================== FAILURES ===================================
______________ TestVersion.test_version_matches_package_metadata _______________

self = <tests.test_e2e.test_version.TestVersion object at 0xed2e045cbf20>

    def test_version_matches_package_metadata(self) -> None:
        """__version__ must match the installed package metadata."""
        installed_version = pkg_version("lizyml")
>       assert lizyml.__version__ == installed_version
E       AssertionError: assert '0.17.2.dev70+gc16abb886' == '0.17.2.dev62+gbd572b839'
E         
E         - 0.17.2.dev62+gbd572b839
E         + 0.17.2.dev70+gc16abb886

tests/test_e2e/test_version.py:23: AssertionError
_______ test_notebook_runs_its_index_examples[tutorial_time_series_lgbm] _______

path = PosixPath('/home/rem/repos/LizyML/notebooks/tutorial_time_series_lgbm.ipynb')
tmp_path = PosixPath('/tmp/claude-1000/pytest-of-rem/pytest-61/test_notebook_runs_its_index_e7')

    @pytest.mark.parametrize("path", PATHS, ids=[p.stem for p in PATHS])
    def test_notebook_runs_its_index_examples(
        path: pathlib.Path, tmp_path: pathlib.Path
    ) -> None:
        nb = json.loads(path.read_text(encoding="utf-8"))
>       log = index_runner.run_instrumented(nb, workdir_base=tmp_path)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_notebooks/test_index_execution.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_notebooks/index_runner.py:220: in run_instrumented
    run_with_retries(
tests/test_notebooks/index_runner.py:169: in run_with_retries
    execute(attempt.kernel, attempt.workdir)
tests/test_notebooks/index_runner.py:207: in run
    client.execute(cleanup_kc=True)
.venv/lib/python3.12/site-packages/jupyter_core/utils/__init__.py:165: in wrapped
    return loop.run_until_complete(inner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.12/asyncio/base_events.py:687: in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
.venv/lib/python3.12/site-packages/nbclient/client.py:709: in async_execute
    await self.async_execute_cell(
.venv/lib/python3.12/site-packages/nbclient/client.py:1062: in async_execute_cell
    await self._check_raise_for_error(cell, cell_index, exec_reply)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <nbclient.client.NotebookClient object at 0xed2ddc14a570>
cell = {'cell_type': 'code', 'execution_count': 3, 'id': 'cell-4', 'metadata': {'execution': {'iopub.status.busy': '2026-10-2... "jena_climate_2009_2016.csv.zip"\n)\n\ndf_raw = pd.read_csv(URL)\nprint(f"Raw shape: {df_raw.shape}")\ndf_raw.head()'}
cell_index = 5
exec_reply = {'buffers': [], 'content': {'ename': 'URLError', 'engine_info': {'engine_id': -1, 'engine_uuid': '9678c994-e82c-4888-9...e, 'engine': '9678c994-e82c-4888-90d4-e43dc64110d9', 'started': '2026-10-20T12:10:08.979647Z', 'status': 'error'}, ...}

    async def _check_raise_for_error(
        self, cell: NotebookNode, cell_index: int, exec_reply: dict[str, t.Any] | None
    ) -> None:
        if exec_reply is None:
            return None
    
        exec_reply_content = exec_reply["content"]
        if exec_reply_content["status"] != "error":
            return None
    
        cell_allows_errors = (not self.force_raise_errors) and (
            self.allow_errors
            or exec_reply_content.get("ename") in self.allow_error_names
            or "raises-exception" in cell.metadata.get("tags", [])
        )
        await run_hook(
            self.on_cell_error, cell=cell, cell_index=cell_index, execute_reply=exec_reply
        )
        if not cell_allows_errors:
>           raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)
E           nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:
E           ------------------
E           URL = (
E               "https://storage.googleapis.com/tensorflow/tf-keras-datasets/"
E               "jena_climate_2009_2016.csv.zip"
E           )
E           
E           df_raw = pd.read_csv(URL)
E           print(f"Raw shape: {df_raw.shape}")
E           df_raw.head()
E           ------------------
E           
E           
E           [31m---------------------------------------------------------------------------[39m
E           [31mOSError[39m                                   Traceback (most recent call last)
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:1344[39m, in [36mAbstractHTTPHandler.do_open[39m[34m(self, http_class, req, **http_conn_args)[39m
E           [32m   1343[39m [38;5;28;01mtry[39;00m:
E           [32m-> [39m[32m1344[39m     [43mh[49m[43m.[49m[43mrequest[49m[43m([49m[43mreq[49m[43m.[49m[43mget_method[49m[43m([49m[43m)[49m[43m,[49m[43m [49m[43mreq[49m[43m.[49m[43mselector[49m[43m,[49m[43m [49m[43mreq[49m[43m.[49m[43mdata[49m[43m,[49m[43m [49m[43mheaders[49m[43m,[49m
E           [32m   1345[39m [43m              [49m[43mencode_chunked[49m[43m=[49m[43mreq[49m[43m.[49m[43mhas_header[49m[43m([49m[33;43m'[39;49m[33;43mTransfer-encoding[39;49m[33;43m'[39;49m[43m)[49m[43m)[49m
E           [32m   1346[39m [38;5;28;01mexcept[39;00m [38;5;167;01mOSError[39;00m [38;5;28;01mas[39;00m err: [38;5;66;03m# timeout error[39;00m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1365[39m, in [36mHTTPConnection.request[39m[34m(self, method, url, body, headers, encode_chunked)[39m
E           [32m   1364[39m [38;5;250m[39m[33;03m"""Send a complete request to the server."""[39;00m
E           [32m-> [39m[32m1365[39m [38;5;28;43mself[39;49m[43m.[49m[43m_send_request[49m[43m([49m[43mmethod[49m[43m,[49m[43m [49m[43murl[49m[43m,[49m[43m [49m[43mbody[49m[43m,[49m[43m [49m[43mheaders[49m[43m,[49m[43m [49m[43mencode_chunked[49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1411[39m, in [36mHTTPConnection._send_request[39m[34m(self, method, url, body, headers, encode_chunked)[39m
E           [32m   1410[39m     body = _encode(body, [33m'[39m[33mbody[39m[33m'[39m)
E           [32m-> [39m[32m1411[39m [38;5;28;43mself[39;49m[43m.[49m[43mendheaders[49m[43m([49m[43mbody[49m[43m,[49m[43m [49m[43mencode_chunked[49m[43m=[49m[43mencode_chunked[49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1360[39m, in [36mHTTPConnection.endheaders[39m[34m(self, message_body, encode_chunked)[39m
E           [32m   1359[39m     [38;5;28;01mraise[39;00m CannotSendHeader()
E           [32m-> [39m[32m1360[39m [38;5;28;43mself[39;49m[43m.[49m[43m_send_output[49m[43m([49m[43mmessage_body[49m[43m,[49m[43m [49m[43mencode_chunked[49m[43m=[49m[43mencode_chunked[49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1120[39m, in [36mHTTPConnection._send_output[39m[34m(self, message_body, encode_chunked)[39m
E           [32m   1119[39m [38;5;28;01mdel[39;00m [38;5;28mself[39m._buffer[:]
E           [32m-> [39m[32m1120[39m [38;5;28;43mself[39;49m[43m.[49m[43msend[49m[43m([49m[43mmsg[49m[43m)[49m
E           [32m   1122[39m [38;5;28;01mif[39;00m message_body [38;5;129;01mis[39;00m [38;5;129;01mnot[39;00m [38;5;28;01mNone[39;00m:
E           [32m   1123[39m 
E           [32m   1124[39m     [38;5;66;03m# create a consistent interface to message_body[39;00m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1064[39m, in [36mHTTPConnection.send[39m[34m(self, data)[39m
E           [32m   1063[39m [38;5;28;01mif[39;00m [38;5;28mself[39m.auto_open:
E           [32m-> [39m[32m1064[39m     [38;5;28;43mself[39;49m[43m.[49m[43mconnect[49m[43m([49m[43m)[49m
E           [32m   1065[39m [38;5;28;01melse[39;00m:
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1499[39m, in [36mHTTPSConnection.connect[39m[34m(self)[39m
E           [32m   1497[39m [33m"[39m[33mConnect to a host on a given (SSL) port.[39m[33m"[39m
E           [32m-> [39m[32m1499[39m [38;5;28;43msuper[39;49m[43m([49m[43m)[49m[43m.[49m[43mconnect[49m[43m([49m[43m)[49m
E           [32m   1501[39m [38;5;28;01mif[39;00m [38;5;28mself[39m._tunnel_host:
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1040[39m, in [36mHTTPConnection.connect[39m[34m(self)[39m
E           [32m   1039[39m [38;5;28;01mif[39;00m [38;5;28mself[39m._tunnel_host:
E           [32m-> [39m[32m1040[39m     [38;5;28;43mself[39;49m[43m.[49m[43m_tunnel[49m[43m([49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/http/client.py:1008[39m, in [36mHTTPConnection._tunnel[39m[34m(self)[39m
E           [32m   1007[39m         [38;5;28mself[39m.close()
E           [32m-> [39m[32m1008[39m         [38;5;28;01mraise[39;00m [38;5;167;01mOSError[39;00m([33mf[39m[33m"[39m[33mTunnel connection failed: [39m[38;5;132;01m{[39;00mcode[38;5;132;01m}[39;00m[33m [39m[38;5;132;01m{[39;00mmessage.strip()[38;5;132;01m}[39;00m[33m"[39m)
E           [32m   1010[39m [38;5;28;01mfinally[39;00m:
E           
E           [31mOSError[39m: Tunnel connection failed: 403 not in this command's allowed_domains ? re-run the command with this host listed if it needs it
E           
E           During handling of the above exception, another exception occurred:
E           
E           [31mURLError[39m                                  Traceback (most recent call last)
E           [36mCell[39m[36m [39m[32mIn[3][39m[32m, line 6[39m
E           [32m      1[39m URL = (
E           [32m      2[39m     [33m"[39m[33mhttps://storage.googleapis.com/tensorflow/tf-keras-datasets/[39m[33m"[39m
E           [32m      3[39m     [33m"[39m[33mjena_climate_2009_2016.csv.zip[39m[33m"[39m
E           [32m      4[39m )
E           [32m----> [39m[32m6[39m df_raw = [43mpd[49m[43m.[49m[43mread_csv[49m[43m([49m[43mURL[49m[43m)[49m
E           [32m      7[39m [38;5;28mprint[39m([33mf[39m[33m"[39m[33mRaw shape: [39m[38;5;132;01m{[39;00mdf_raw.shape[38;5;132;01m}[39;00m[33m"[39m)
E           [32m      8[39m df_raw.head()
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/parsers/readers.py:873[39m, in [36mread_csv[39m[34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, skip_blank_lines, parse_dates, date_format, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, on_bad_lines, low_memory, memory_map, float_precision, storage_options, dtype_backend)[39m
E           [32m    861[39m kwds_defaults = _refine_defaults_read(
E           [32m    862[39m     dialect,
E           [32m    863[39m     delimiter,
E           [32m   (...)[39m[32m    869[39m     dtype_backend=dtype_backend,
E           [32m    870[39m )
E           [32m    871[39m kwds.update(kwds_defaults)
E           [32m--> [39m[32m873[39m [38;5;28;01mreturn[39;00m [43m_read[49m[43m([49m[43mfilepath_or_buffer[49m[43m,[49m[43m [49m[43mkwds[49m[43m)[49m
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/parsers/readers.py:300[39m, in [36m_read[39m[34m(filepath_or_buffer, kwds)[39m
E           [32m    297[39m _validate_names(kwds.get([33m"[39m[33mnames[39m[33m"[39m, [38;5;28;01mNone[39;00m))
E           [32m    299[39m [38;5;66;03m# Create the parser.[39;00m
E           [32m--> [39m[32m300[39m parser = [43mTextFileReader[49m[43m([49m[43mfilepath_or_buffer[49m[43m,[49m[43m [49m[43m*[49m[43m*[49m[43mkwds[49m[43m)[49m
E           [32m    302[39m [38;5;28;01mif[39;00m chunksize [38;5;129;01mor[39;00m iterator:
E           [32m    303[39m     [38;5;28;01mreturn[39;00m parser
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/parsers/readers.py:1645[39m, in [36mTextFileReader.__init__[39m[34m(self, f, engine, **kwds)[39m
E           [32m   1642[39m     [38;5;28mself[39m.options[[33m"[39m[33mhas_index_names[39m[33m"[39m] = kwds[[33m"[39m[33mhas_index_names[39m[33m"[39m]
E           [32m   1644[39m [38;5;28mself[39m.handles: IOHandles | [38;5;28;01mNone[39;00m = [38;5;28;01mNone[39;00m
E           [32m-> [39m[32m1645[39m [38;5;28mself[39m._engine = [38;5;28;43mself[39;49m[43m.[49m[43m_make_engine[49m[43m([49m[43mf[49m[43m,[49m[43m [49m[38;5;28;43mself[39;49m[43m.[49m[43mengine[49m[43m)[49m
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/parsers/readers.py:1904[39m, in [36mTextFileReader._make_engine[39m[34m(self, f, engine)[39m
E           [32m   1902[39m     [38;5;28;01mif[39;00m [33m"[39m[33mb[39m[33m"[39m [38;5;129;01mnot[39;00m [38;5;129;01min[39;00m mode:
E           [32m   1903[39m         mode += [33m"[39m[33mb[39m[33m"[39m
E           [32m-> [39m[32m1904[39m [38;5;28mself[39m.handles = [43mget_handle[49m[43m([49m
E           [32m   1905[39m [43m    [49m[43mf[49m[43m,[49m
E           [32m   1906[39m [43m    [49m[43mmode[49m[43m,[49m
E           [32m   1907[39m [43m    [49m[43mencoding[49m[43m=[49m[38;5;28;43mself[39;49m[43m.[49m[43moptions[49m[43m.[49m[43mget[49m[43m([49m[33;43m"[39;49m[33;43mencoding[39;49m[33;43m"[39;49m[43m,[49m[43m [49m[38;5;28;43;01mNone[39;49;00m[43m)[49m[43m,[49m
E           [32m   1908[39m [43m    [49m[43mcompression[49m[43m=[49m[38;5;28;43mself[39;49m[43m.[49m[43moptions[49m[43m.[49m[43mget[49m[43m([49m[33;43m"[39;49m[33;43mcompression[39;49m[33;43m"[39;49m[43m,[49m[43m [49m[38;5;28;43;01mNone[39;49;00m[43m)[49m[43m,[49m
E           [32m   1909[39m [43m    [49m[43mmemory_map[49m[43m=[49m[38;5;28;43mself[39;49m[43m.[49m[43moptions[49m[43m.[49m[43mget[49m[43m([49m[33;43m"[39;49m[33;43mmemory_map[39;49m[33;43m"[39;49m[43m,[49m[43m [49m[38;5;28;43;01mFalse[39;49;00m[43m)[49m[43m,[49m
E           [32m   1910[39m [43m    [49m[43mis_text[49m[43m=[49m[43mis_text[49m[43m,[49m
E           [32m   1911[39m [43m    [49m[43merrors[49m[43m=[49m[38;5;28;43mself[39;49m[43m.[49m[43moptions[49m[43m.[49m[43mget[49m[43m([49m[33;43m"[39;49m[33;43mencoding_errors[39;49m[33;43m"[39;49m[43m,[49m[43m [49m[33;43m"[39;49m[33;43mstrict[39;49m[33;43m"[39;49m[43m)[49m[43m,[49m
E           [32m   1912[39m [43m    [49m[43mstorage_options[49m[43m=[49m[38;5;28;43mself[39;49m[43m.[49m[43moptions[49m[43m.[49m[43mget[49m[43m([49m[33;43m"[39;49m[33;43mstorage_options[39;49m[33;43m"[39;49m[43m,[49m[43m [49m[38;5;28;43;01mNone[39;49;00m[43m)[49m[43m,[49m
E           [32m   1913[39m [43m[49m[43m)[49m
E           [32m   1914[39m [38;5;28;01massert[39;00m [38;5;28mself[39m.handles [38;5;129;01mis[39;00m [38;5;129;01mnot[39;00m [38;5;28;01mNone[39;00m
E           [32m   1915[39m f = [38;5;28mself[39m.handles.handle
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/common.py:772[39m, in [36mget_handle[39m[34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)[39m
E           [32m    769[39m     codecs.lookup_error(errors)
E           [32m    771[39m [38;5;66;03m# open URLs[39;00m
E           [32m--> [39m[32m772[39m ioargs = [43m_get_filepath_or_buffer[49m[43m([49m
E           [32m    773[39m [43m    [49m[43mpath_or_buf[49m[43m,[49m
E           [32m    774[39m [43m    [49m[43mencoding[49m[43m=[49m[43mencoding[49m[43m,[49m
E           [32m    775[39m [43m    [49m[43mcompression[49m[43m=[49m[43mcompression[49m[43m,[49m
E           [32m    776[39m [43m    [49m[43mmode[49m[43m=[49m[43mmode[49m[43m,[49m
E           [32m    777[39m [43m    [49m[43mstorage_options[49m[43m=[49m[43mstorage_options[49m[43m,[49m
E           [32m    778[39m [43m[49m[43m)[49m
E           [32m    780[39m handle = ioargs.filepath_or_buffer
E           [32m    781[39m handles: [38;5;28mlist[39m[BaseBuffer]
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/common.py:404[39m, in [36m_get_filepath_or_buffer[39m[34m(filepath_or_buffer, encoding, compression, mode, storage_options)[39m
E           [32m    402[39m [38;5;66;03m# assuming storage_options is to be interpreted as headers[39;00m
E           [32m    403[39m req_info = urllib.request.Request(filepath_or_buffer, headers=storage_options)
E           [32m--> [39m[32m404[39m [38;5;28;01mwith[39;00m [43murlopen[49m[43m([49m[43mreq_info[49m[43m)[49m [38;5;28;01mas[39;00m req:
E           [32m    405[39m     content_encoding = req.headers.get([33m"[39m[33mContent-Encoding[39m[33m"[39m, [38;5;28;01mNone[39;00m)
E           [32m    406[39m     [38;5;28;01mif[39;00m content_encoding == [33m"[39m[33mgzip[39m[33m"[39m:
E           [32m    407[39m         [38;5;66;03m# Override compression based on Content-Encoding header[39;00m
E           
E           [36mFile [39m[32m~/repos/LizyML/.venv/lib/python3.12/site-packages/pandas/io/common.py:281[39m, in [36murlopen[39m[34m(*args, **kwargs)[39m
E           [32m    275[39m [38;5;250m[39m[33;03m"""[39;00m
E           [32m    276[39m [33;03mLazy-import wrapper for stdlib urlopen, as that imports a big chunk of[39;00m
E           [32m    277[39m [33;03mthe stdlib.[39;00m
E           [32m    278[39m [33;03m"""[39;00m
E           [32m    279[39m [38;5;28;01mimport[39;00m[38;5;250m [39m[34;01murllib[39;00m[34;01m.[39;00m[34;01mrequest[39;00m
E           [32m--> [39m[32m281[39m [38;5;28;01mreturn[39;00m [43murllib[49m[43m.[49m[43mrequest[49m[43m.[49m[43murlopen[49m[43m([49m[43m*[49m[43margs[49m[43m,[49m[43m [49m[43m*[49m[43m*[49m[43mkwargs[49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:215[39m, in [36murlopen[39m[34m(url, data, timeout, cafile, capath, cadefault, context)[39m
E           [32m    213[39m [38;5;28;01melse[39;00m:
E           [32m    214[39m     opener = _opener
E           [32m--> [39m[32m215[39m [38;5;28;01mreturn[39;00m [43mopener[49m[43m.[49m[43mopen[49m[43m([49m[43murl[49m[43m,[49m[43m [49m[43mdata[49m[43m,[49m[43m [49m[43mtimeout[49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:515[39m, in [36mOpenerDirector.open[39m[34m(self, fullurl, data, timeout)[39m
E           [32m    512[39m     req = meth(req)
E           [32m    514[39m sys.audit([33m'[39m[33murllib.Request[39m[33m'[39m, req.full_url, req.data, req.headers, req.get_method())
E           [32m--> [39m[32m515[39m response = [38;5;28;43mself[39;49m[43m.[49m[43m_open[49m[43m([49m[43mreq[49m[43m,[49m[43m [49m[43mdata[49m[43m)[49m
E           [32m    517[39m [38;5;66;03m# post-process response[39;00m
E           [32m    518[39m meth_name = protocol+[33m"[39m[33m_response[39m[33m"[39m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:532[39m, in [36mOpenerDirector._open[39m[34m(self, req, data)[39m
E           [32m    529[39m     [38;5;28;01mreturn[39;00m result
E           [32m    531[39m protocol = req.type
E           [32m--> [39m[32m532[39m result = [38;5;28;43mself[39;49m[43m.[49m[43m_call_chain[49m[43m([49m[38;5;28;43mself[39;49m[43m.[49m[43mhandle_open[49m[43m,[49m[43m [49m[43mprotocol[49m[43m,[49m[43m [49m[43mprotocol[49m[43m [49m[43m+[49m
E           [32m    533[39m [43m                          [49m[33;43m'[39;49m[33;43m_open[39;49m[33;43m'[39;49m[43m,[49m[43m [49m[43mreq[49m[43m)[49m
E           [32m    534[39m [38;5;28;01mif[39;00m result:
E           [32m    535[39m     [38;5;28;01mreturn[39;00m result
E           
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:492[39m, in [36mOpenerDirector._call_chain[39m[34m(self, chain, kind, meth_name, *args)[39m
E           [32m    490[39m [38;5;28;01mfor[39;00m handler [38;5;129;01min[39;00m handlers:
E           [32m    491[39m     func = [38;5;28mgetattr[39m(handler, meth_name)
E           [32m--> [39m[32m492[39m     result = [43mfunc[49m[43m([49m[43m*[49m[43margs[49m[43m)[49m
E           [32m    493[39m     [38;5;28;01mif[39;00m result [38;5;129;01mis[39;00m [38;5;129;01mnot[39;00m [38;5;28;01mNone[39;00m:
E           [32m    494[39m         [38;5;28;01mreturn[39;00m result
E           
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:1392[39m, in [36mHTTPSHandler.https_open[39m[34m(self, req)[39m
E           [32m   1391[39m [38;5;28;01mdef[39;00m[38;5;250m [39m[34mhttps_open[39m([38;5;28mself[39m, req):
E           [32m-> [39m[32m1392[39m     [38;5;28;01mreturn[39;00m [38;5;28;43mself[39;49m[43m.[49m[43mdo_open[49m[43m([49m[43mhttp[49m[43m.[49m[43mclient[49m[43m.[49m[43mHTTPSConnection[49m[43m,[49m[43m [49m[43mreq[49m[43m,[49m
E           [32m   1393[39m [43m                        [49m[43mcontext[49m[43m=[49m[38;5;28;43mself[39;49m[43m.[49m[43m_context[49m[43m)[49m
E           
E           [36mFile [39m[32m/usr/lib/python3.12/urllib/request.py:1347[39m, in [36mAbstractHTTPHandler.do_open[39m[34m(self, http_class, req, **http_conn_args)[39m
E           [32m   1344[39m         h.request(req.get_method(), req.selector, req.data, headers,
E           [32m   1345[39m                   encode_chunked=req.has_header([33m'[39m[33mTransfer-encoding[39m[33m'[39m))
E           [32m   1346[39m     [38;5;28;01mexcept[39;00m [38;5;167;01mOSError[39;00m [38;5;28;01mas[39;00m err: [38;5;66;03m# timeout error[39;00m
E           [32m-> [39m[32m1347[39m         [38;5;28;01mraise[39;00m URLError(err)
E           [32m   1348[39m     r = h.getresponse()
E           [32m   1349[39m [38;5;28;01mexcept[39;00m:
E           
E           [31mURLError[39m: <urlopen error Tunnel connection failed: 403 not in this command's allowed_domains ? re-run the command with this host listed if it needs it>

.venv/lib/python3.12/site-packages/nbclient/client.py:918: CellExecutionError
----------------------------- Captured stderr call -----------------------------
/home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/IPython/paths.py:59: UserWarning: IPython dir '/home/rem/.ipython' is not a writable location, using a temp directory.
  warn("IPython dir '{0}' is not a writable location,"
/home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/IPython/paths.py:59: UserWarning: IPython dir '/home/rem/.ipython' is not a writable location, using a temp directory.
  warn("IPython dir '{0}' is not a writable location,"
/home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/IPython/paths.py:59: UserWarning: IPython dir '/home/rem/.ipython' is not a writable location, using a temp directory.
  warn("IPython dir '{0}' is not a writable location,"
=============================== warnings summary ===============================
tests/test_core/test_param_domain.py:146
  /home/rem/repos/LizyML/tests/test_core/test_param_domain.py:146: RuntimeWarning: overflow encountered in cast
    atoms.append(dtype(value))

tests/test_calibration/test_beta_calibration.py: 1 warning
tests/test_calibration/test_calibration.py: 10 warnings
tests/test_calibration/test_calibration_failed_optimisation.py: 2 warnings
tests/test_calibration/test_calibration_param_names.py: 1 warning
tests/test_calibration/test_calibration_split.py: 2 warnings
tests/test_calibration/test_h0058_outer_reuse.py: 2 warnings
tests/test_calibration/test_i298_pr3c_evidence.py: 4 warnings
tests/test_calibration/test_raw_score_calibration.py: 4 warnings
tests/test_codegen/test_calibration_params_codegen.py: 14 warnings
tests/test_config/test_knob_reachability.py: 8 warnings
tests/test_core/test_calibration_params_reach.py: 10 warnings
tests/test_core/test_config_propagation.py: 5 warnings
tests/test_core/test_error_code_raising.py: 4 warnings
tests/test_core/test_facade_orchestration.py: 7 warnings
tests/test_core/test_fit_params_override.py: 130 warnings
tests/test_core/test_fit_smoke_regressions.py: 1 warning
tests/test_core/test_param_refusal_origin.py: 1 warning
tests/test_core/test_refusal_matrix.py: 1 warning
tests/test_core/test_seed_propagation.py: 8 warnings
tests/test_core/test_smart_managed_model_params.py: 19 warnings
tests/test_e2e/test_binary_full.py: 8 warnings
tests/test_e2e/test_column_drift.py: 1 warning
tests/test_e2e/test_leakage_all.py: 4 warnings
tests/test_e2e/test_model_facade.py: 7 warnings
tests/test_e2e/test_pairwise.py: 2 warnings
tests/test_e2e/test_readme_example.py: 1 warning
tests/test_e2e/test_reproducibility.py: 4 warnings
tests/test_estimators/test_feval_probabilities.py: 4 warnings
tests/test_estimators/test_h0125_binary_objectives.py: 3 warnings
tests/test_estimators/test_h0125_native_metric_params.py: 1 warning
tests/test_estimators/test_lgbm_objective_identity.py: 2 warnings
tests/test_estimators/test_lightgbm_parameter_names.py: 2 warnings
tests/test_estimators/test_param_behavioral_effect.py: 2 warnings
tests/test_estimators/test_provider_protocol_drift.py: 9 warnings
tests/test_evaluation/test_confusion.py: 5 warnings
tests/test_evaluation/test_evaluation.py: 1 warning
tests/test_explain/test_explain.py: 3 warnings
tests/test_features/test_column_dtype_check.py: 49 warnings
tests/test_persistence/test_applied_training_params.py: 40 warnings
tests/test_persistence/test_artifact_compat.py: 3 warnings
tests/test_persistence/test_h0125_load_refuses_non_probability_objective.py: 42 warnings
tests/test_persistence/test_h0133_acceptance.py: 38 warnings
tests/test_persistence/test_persistence.py: 8 warnings
tests/test_plots/test_calibration_plots.py: 10 warnings
tests/test_plots/test_classification_plots.py: 4 warnings
tests/test_plots/test_plots.py: 2 warnings
tests/test_plots/test_residuals.py: 2 warnings
tests/test_plots/test_theme.py: 1 warning
tests/test_training/test_cv_refit_parity.py: 2 warnings
tests/test_tuning/test_dimension_consumption.py: 1 warning
tests/test_tuning/test_tune_fit_identity.py: 1 warning
  /home/rem/repos/LizyML/lizyml/core/model.py:284: UserWarning: task='binary' with split.method='kfold' does not preserve class distribution. Consider using 'stratified_kfold' instead.
    splitter = build_splitter(

tests/test_calibration/test_calibration_param_names.py::test_unknown_calibration_param_is_refused_before_any_training
tests/test_calibration/test_calibration_param_names.py::test_a_calibrated_run_still_succeeds
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/pydantic/main.py:716: UserWarning: calibration.n_splits is deprecated and will be ignored. Calibration cross-fit now reuses outer CV splits (H-0058). Will be removed in v1.0.
    return cls.__pydantic_validator__.validate_python(

tests/test_calibration/test_calibration_param_names.py: 1 warning
tests/test_core/test_calibration_params_reach.py: 6 warnings
tests/test_core/test_fit_params_override.py: 22 warnings
tests/test_core/test_param_refusal_origin.py: 1 warning
tests/test_core/test_refusal_matrix.py: 3 warnings
tests/test_core/test_smart_managed_model_params.py: 37 warnings
tests/test_persistence/test_applied_training_params.py: 22 warnings
tests/test_tuning/test_dimension_consumption.py: 23 warnings
tests/test_tuning/test_direction_reconciliation.py: 11 warnings
tests/test_tuning/test_resume_identity.py: 63 warnings
tests/test_tuning/test_search_space_name_validation.py: 12 warnings
tests/test_tuning/test_smart_dimension_admission.py: 11 warnings
tests/test_tuning/test_tune_fit_identity.py: 1 warning
  /home/rem/repos/LizyML/lizyml/core/_model_tuning.py:331: UserWarning: task='binary' with split.method='kfold' does not preserve class distribution. Consider using 'stratified_kfold' instead.
    splitter = build_splitter(

tests/test_calibration/test_i298_pr3c_evidence.py::test_4a_written_tol_is_not_defeated_by_the_default_options[SLSQP-beta]
tests/test_calibration/test_i298_pr3c_evidence.py::test_4b_written_options_beat_written_tol_key_by_key[SLSQP-beta]
tests/test_calibration/test_i298_pr3c_evidence.py::test_4c_defaults_belong_to_their_method[SLSQP-beta]
  /home/rem/repos/LizyML/lizyml/calibration/beta.py:35: RuntimeWarning: overflow encountered in exp
    np.exp(x) / (1.0 + np.exp(x)),

tests/test_calibration/test_i298_pr3c_evidence.py::test_4a_written_tol_is_not_defeated_by_the_default_options[SLSQP-beta]
tests/test_calibration/test_i298_pr3c_evidence.py::test_4b_written_options_beat_written_tol_key_by_key[SLSQP-beta]
tests/test_calibration/test_i298_pr3c_evidence.py::test_4c_defaults_belong_to_their_method[SLSQP-beta]
  /home/rem/repos/LizyML/lizyml/calibration/beta.py:35: RuntimeWarning: invalid value encountered in divide
    np.exp(x) / (1.0 + np.exp(x)),

tests/test_codegen/test_calibration_params_codegen.py::test_generated_fitter_matches_the_runtime_calibrator[beta-params4]
tests/test_codegen/test_calibration_params_codegen.py::test_generated_fitter_matches_the_runtime_calibrator[beta-params4]
  /home/rem/repos/LizyML/lizyml/calibration/beta.py:108: OptimizeWarning: Initial guess is not within the specified bounds
    result = minimize(neg_log_likelihood, **kwargs)

tests/test_codegen/test_calibration_params_codegen.py::test_generated_fitter_matches_the_runtime_calibrator[beta-params4]
  /tmp/claude-1000/pytest-of-rem/pytest-61/test_generated_fitter_matches_4/eq_beta_2/train.py:1175: OptimizeWarning: Initial guess is not within the specified bounds
    result = minimize(objective, jac=jac, **kwargs)

tests/test_codegen/test_calibration_params_codegen.py::test_generated_fitter_matches_the_runtime_calibrator[platt-params5]
tests/test_codegen/test_calibration_params_codegen.py::test_generated_fitter_matches_the_runtime_calibrator[platt-params5]
  /home/rem/repos/LizyML/lizyml/calibration/platt.py:138: OptimizeWarning: Initial guess is not within the specified bounds
    result = minimize(objective, jac=True if gradient else None, **kwargs)

tests/test_codegen/test_calibration_params_codegen.py::test_generated_fitter_matches_the_runtime_calibrator[platt-params5]
  /tmp/claude-1000/pytest-of-rem/pytest-61/test_generated_fitter_matches_5/eq_platt_2/train.py:1175: OptimizeWarning: Initial guess is not within the specified bounds
    result = minimize(objective, jac=jac, **kwargs)

tests/test_codegen/test_equivalence.py: 1 warning
tests/test_codegen/test_predict_subprocess_equivalence.py: 1 warning
tests/test_config/test_knob_reachability.py: 1 warning
tests/test_core/test_facade_orchestration.py: 4 warnings
tests/test_core/test_fit_params_override.py: 1 warning
tests/test_core/test_smart_managed_model_params.py: 18 warnings
tests/test_e2e/test_golden_contracts.py: 1 warning
tests/test_e2e/test_model_facade.py: 6 warnings
tests/test_e2e/test_multiclass_full.py: 7 warnings
tests/test_e2e/test_pairwise.py: 2 warnings
tests/test_e2e/test_reproducibility.py: 4 warnings
tests/test_estimators/test_feval_probabilities.py: 1 warning
tests/test_estimators/test_lgbm_objective_identity.py: 2 warnings
tests/test_estimators/test_lightgbm_parameter_names.py: 2 warnings
tests/test_estimators/test_provider_protocol_drift.py: 6 warnings
tests/test_evaluation/test_confusion.py: 1 warning
tests/test_explain/test_explain.py: 3 warnings
tests/test_persistence/test_applied_training_params.py: 1 warning
tests/test_plots/test_classification_plots.py: 3 warnings
tests/test_plots/test_plots.py: 1 warning
tests/test_training/test_cv_refit_parity.py: 7 warnings
  /home/rem/repos/LizyML/lizyml/core/model.py:284: UserWarning: task='multiclass' with split.method='kfold' does not preserve class distribution. Consider using 'stratified_kfold' instead.
    splitter = build_splitter(

tests/test_config/test_inner_valid_roundtrip.py::test_legacy_validation_ratio_stays_auto_resolve
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/pydantic/main.py:250: DeprecationWarning: `validation_ratio` is deprecated; use `inner_valid.ratio` instead. Will be removed in v1.0.
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)

tests/test_config/test_knob_reachability.py: 8 warnings
tests/test_core/test_config_propagation.py: 2 warnings
tests/test_core/test_fit_params_override.py: 12 warnings
tests/test_e2e/test_model_facade.py: 1 warning
tests/test_e2e/test_pairwise.py: 9 warnings
tests/test_persistence/test_applied_training_params.py: 37 warnings
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/pydantic/main.py:716: DeprecationWarning: `validation_ratio` is deprecated; use `inner_valid.ratio` instead. Will be removed in v1.0.
    return cls.__pydantic_validator__.validate_python(

tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
  /home/rem/repos/LizyML/lizyml/training/cv_trainer.py:195: UserWarning: Too few groups (1) for group-isolated inner valid (need >= 4). Falling back to StratifiedTimeHoldout.
    iv_result = self.inner_valid.split(

tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
  /home/rem/repos/LizyML/lizyml/training/cv_trainer.py:195: UserWarning: Too few groups (2) for group-isolated inner valid (need >= 4). Falling back to StratifiedTimeHoldout.
    iv_result = self.inner_valid.split(

tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
  /home/rem/repos/LizyML/lizyml/training/refit_trainer.py:105: UserWarning: Too few groups (3) for group-isolated inner valid (need >= 4). Falling back to StratifiedTimeHoldout.
    iv_result = self.inner_valid.split(n_samples, y=y.to_numpy(), groups=groups)

tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
  /home/rem/repos/LizyML/lizyml/training/cv_trainer.py:195: UserWarning: Too few groups (1) for group-isolated inner valid (need >= 4). Falling back to TimeHoldout.
    iv_result = self.inner_valid.split(

tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
  /home/rem/repos/LizyML/lizyml/training/cv_trainer.py:195: UserWarning: Too few groups (2) for group-isolated inner valid (need >= 4). Falling back to TimeHoldout.
    iv_result = self.inner_valid.split(

tests/test_config/test_knob_reachability.py::test_config_value_reaches_the_constructor[BetaCalibrator.params-0]
  /home/rem/repos/LizyML/lizyml/training/refit_trainer.py:105: UserWarning: Too few groups (3) for group-isolated inner valid (need >= 4). Falling back to TimeHoldout.
    iv_result = self.inner_valid.split(n_samples, y=y.to_numpy(), groups=groups)

tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
tests/test_core/test_fit_params_override.py::test_categorical_feature_from_fit_params_reaches_the_dataset
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/lightgbm/basic.py:2137: UserWarning: categorical_feature keyword has been found in `params` and will be ignored.
  Please use categorical_feature argument of the Dataset constructor to pass this parameter.
    _log_warning(

tests/test_core/test_param_domain.py::test_a_numpy_array_subclass_is_refused_for_the_same_reason_a_scalar_is
  /home/rem/repos/LizyML/tests/test_core/test_param_domain.py:1030: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
    ("numpy matrix", np.matrix([[1.0, 2.0]])),

tests/test_core/test_smart_managed_model_params.py: 35 warnings
tests/test_persistence/test_applied_training_params.py: 1 warning
tests/test_tuning/test_direction_reconciliation.py: 7 warnings
tests/test_tuning/test_search_space_name_validation.py: 12 warnings
  /home/rem/repos/LizyML/lizyml/core/_model_tuning.py:331: UserWarning: task='multiclass' with split.method='kfold' does not preserve class distribution. Consider using 'stratified_kfold' instead.
    splitter = build_splitter(

tests/test_explain/test_explain.py: 5 warnings
tests/test_explain/test_shap_importance_per_fold_pipeline.py: 12 warnings
tests/test_persistence/test_artifact_compat.py: 4 warnings
tests/test_persistence/test_h0133_acceptance.py: 12 warnings
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/shap/explainers/_tree.py:586: UserWarning: LightGBM binary classifier with TreeExplainer shap values output has changed to a list of ndarray
    warnings.warn(

tests/test_notebooks/test_index_recording.py::test_kernel_probes[positive control-cells0-None]
tests/test_notebooks/test_index_recording.py::test_kernel_probes[a tagged cell the kernel skips-cells1-never ran]
tests/test_notebooks/test_index_recording.py::test_kernel_probes[a failed guard in a cell allowed to raise-cells2-never ran]
tests/test_notebooks/test_index_recording.py::test_kernel_probes[a receiver that is not a Model-cells3-not a Model]
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
    validate(nb)

tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_binary_lgbm.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_calibration.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_codegen_export.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_multiclass_lgbm.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_regression_lgbm.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_regression_tuning_lgbm.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_shap_explanations.ipynb]
tests/test_notebooks/test_notebook_execution.py::test_notebook_executes[tutorial_time_series_lgbm.ipynb]
  /home/rem/repos/LizyML/.venv/lib/python3.12/site-packages/IPython/paths.py:59: UserWarning: IPython dir '/home/rem/.ipython' is not a writable location, using a temp directory.
    warn("IPython dir '{0}' is not a writable location,"

tests/test_splitters/test_blocked_group_kfold.py::TestFoldCount::test_single_cutoff
  /home/rem/repos/LizyML/tests/test_splitters/test_blocked_group_kfold.py:119: UserWarning: Skipping fold: train=0 rows, valid=4 rows (min_train=1, min_valid=1)
    folds = list(splitter.split(len(block_values), y=y, groups=groups))

tests/test_splitters/test_blocked_group_kfold.py::TestLeakPrevention::test_no_temporal_leak
  /home/rem/repos/LizyML/tests/test_splitters/test_blocked_group_kfold.py:168: UserWarning: Skipping fold: train=0 rows, valid=4 rows (min_train=1, min_valid=1)
    for train_idx, valid_idx in splitter.split(

tests/test_splitters/test_blocked_group_kfold.py::TestEdgeCases::test_index_dtype_is_intp
  /home/rem/repos/LizyML/tests/test_splitters/test_blocked_group_kfold.py:461: UserWarning: Skipping fold: train=0 rows, valid=4 rows (min_train=1, min_valid=1)
    for train_idx, valid_idx in splitter.split(

tests/test_training/test_blocked_group_inner_valid.py::TestBlockedGroupInnerValidFallback::test_fallback_with_2_groups
  /home/rem/repos/LizyML/tests/test_training/test_blocked_group_inner_valid.py:159: UserWarning: Too few groups (2) for group-isolated inner valid (need >= 4). Falling back to StratifiedTimeHoldout.
    result = strategy.split(len(y), y=y, groups=groups)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_e2e/test_version.py::TestVersion::test_version_matches_package_metadata
FAILED tests/test_notebooks/test_index_execution.py::test_notebook_runs_its_index_examples[tutorial_time_series_lgbm]
2 failed, 13125 passed, 245 skipped, 991 warnings in 300.79s (0:05:00)
[run-exclusive] h0136-census-after finished in 303s, exit 1
