{ "cells": [ { "cell_type": "markdown", "id": "c4d7bc7d87c5dd4c", "metadata": {}, "source": [ "# Tutorial 4: How to Analyse OWI Data - Using Jupyter Notebooks \n", "\n", "In this tutorial we aim to pull data via owilix and analyse it using standard python based tools\n", "## Pulling a small collection\n", "\n", "In a first step, we pull the `legal` collection using `owilix`. Make sure owilix is installed in the environment." ] }, { "cell_type": "code", "execution_count": 1, "id": "initial_id", "metadata": { "jupyter": { "is_executing": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fetching datasets for specifier all:latest#\u001b[1;36m5\u001b[0m/\u001b[33mcollectionName\u001b[0m=\u001b[35mcurlie_full\u001b[0m\n", "2025-09-24 10:18:38,763 - owilix - ERROR - Could not list datasets in datacenter it4i: AsyncClient.__init__() got an unexpected keyword argument 'proxies'\n", "Traceback (most recent call last):\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 549, in list\n", " repo_result, elapsed_time = future.result()\n", " ^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/concurrent/futures/_base.py\", line 449, in result\n", " return self.__get_result()\n", " ^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/concurrent/futures/_base.py\", line 401, in __get_result\n", " raise self._exception\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/concurrent/futures/thread.py\", line 58, in run\n", " result = self.fn(*self.args, **self.kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 502, in _list_repo_wrapper\n", " result = repo.list(access, day, duration, query, cb_progress)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 1554, in list\n", " return self._list(access, day, duration, query, cb_progress, filter_zone=True)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 1531, in _list\n", " ds_records = self._lexis_ds_api.get_all_datasets(access=access, project=self.manager.name)\n", " ^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 1492, in _lexis_ds_api\n", " self.__lexis_ds_api = OWILexisDatasetAPI(self.manager.session)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/manager.py\", line 559, in session\n", " self._session = LexisSession(\n", " ^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/py4lexis/core/session.py\", line 172, in __init__\n", " self.__uc = kck_oi(in_cli=in_cli,\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/py4lexis/core/kck_session.py\", line 62, in __init__\n", " self._oid = KeycloakOpenID(self.url,\n", " ^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/keycloak/keycloak_openid.py\", line 127, in __init__\n", " self.connection = ConnectionManager(\n", " ^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/keycloak/connection.py\", line 105, in __init__\n", " self.async_s = httpx.AsyncClient(verify=verify, proxies=proxies, cert=cert)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "TypeError: AsyncClient.__init__() got an unexpected keyword argument 'proxies'\n", "\u001b[2;36m[09/24/25 10:18:38]\u001b[0m\u001b[2;36m \u001b[0m\u001b[1;31mERROR \u001b[0m \u001b[1;36m2025\u001b[0m-\u001b[1;36m09\u001b[0m-\u001b[1;36m24\u001b[0m \u001b[1;92m10:18:38\u001b[0m,\u001b[1;36m763\u001b[0m - owilix \u001b]8;id=826993;file:///Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\u001b\\\u001b[2mrepository.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=965559;file:///Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py#554\u001b\\\u001b[2m554\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m - ERROR - Could not list datasets \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m in datacenter it4i: \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[1;35mAsyncClient.__init__\u001b[0m\u001b[1m(\u001b[0m\u001b[1m)\u001b[0m got an \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m unexpected keyword argument \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[32m'proxies'\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m╭─\u001b[0m\u001b[31m \u001b[0m\u001b[1;31mTraceback \u001b[0m\u001b[1;2;31m(most recent call \u001b[0m\u001b[31m─╮\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m549\u001b[0m in \u001b[92mlist\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 546 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mfor\u001b[0m future \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 547 \u001b[0m\u001b[2m│ │ │ │ \u001b[0mdc = f \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 548 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94mtry\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 549 \u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 550 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 551 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[96mlen\u001b[0m(repo_result)) \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 552 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/concu\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mrrent/futures/\u001b[0m\u001b[1;33m_base.py\u001b[0m:\u001b[94m449\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92mresult\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m446 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[96mself\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m447 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mrai\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m448 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94melif\u001b[0m \u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m449 \u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mret\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m450 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m451 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[96mself\u001b[0m._c \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m452 \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/concu\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mrrent/futures/\u001b[0m\u001b[1;33m_base.py\u001b[0m:\u001b[94m401\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92m__get_result\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m398 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m__get_result\u001b[0m(\u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m399 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[96mself\u001b[0m._except \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m400 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mtry\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m401 \u001b[2m│ │ │ │ \u001b[0m\u001b[94mraise\u001b[0m \u001b[96ms\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m402 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mfinally\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m403 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[2m# Break\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m404 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[1;4;96mself\u001b[0m\u001b[1;4m = \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/concu\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mrrent/futures/\u001b[0m\u001b[1;33mthread.py\u001b[0m:\u001b[94m58\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92mrun\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 55 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 56 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 57 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mtry\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 58 \u001b[2m│ │ │ \u001b[0mresult = \u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 59 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mexcept\u001b[0m \u001b[96mBaseExce\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 60 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[96mself\u001b[0m.future \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 61 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[2m# Break a r\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m502\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92m_list_repo_wrapper\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 499 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 500 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 501 \u001b[0m\u001b[2m│ │ \u001b[0mstart = time.t \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 502 \u001b[2m│ │ \u001b[0mresult = \u001b[1;4mrepo.\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 503 \u001b[0m\u001b[2m│ │ \u001b[0melapsed_time = \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 504 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m result, \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 505 \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m1554\u001b[0m in \u001b[92mlist\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1551 \u001b[0m\u001b[2m│ │ \u001b[0mquery=\u001b[94mNone\u001b[0m, \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1552 \u001b[0m\u001b[2m│ │ \u001b[0mcb_progress=\u001b[94mNo\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1553 \u001b[0m\u001b[2m│ \u001b[0m) -> \u001b[96mlist\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1554 \u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[1;4;96mself\u001b[0m\u001b[1;4m._l\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1555 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1556 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1557 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92mfiles\u001b[0m(\u001b[96mself\u001b[0m, da \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m List[\u001b[96mstr\u001b[0m]: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m1531\u001b[0m in \u001b[92m_list\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1528 \u001b[0m\u001b[2m│ │ \u001b[0mcb_progress=\u001b[94mNo\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1529 \u001b[0m\u001b[2m│ │ \u001b[0mfilter_zone=\u001b[94mTr\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1530 \u001b[0m\u001b[2m│ \u001b[0m) -> \u001b[96mlist\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1531 \u001b[2m│ │ \u001b[0mds_records = \u001b[1;4;96ms\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m project=\u001b[96mself\u001b[0m.manager.n \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1532 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[95mnot\u001b[0m ds_reco \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1533 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mreturn\u001b[0m [] \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1534 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m filter_zone \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m1492\u001b[0m in \u001b[92m_lexis_ds_api\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1489 \u001b[0m\u001b[2m│ \u001b[0m\u001b[1;95m@property\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1490 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m_lexis_ds_api\u001b[0m( \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1491 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[96mself\u001b[0m.__lexi \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1492 \u001b[2m│ │ │ \u001b[0m\u001b[96mself\u001b[0m.__lex \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1493 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[96mself\u001b[0m.__ \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1494 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1495 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m_init_irods\u001b[0m(\u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mmanager.\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mpy\u001b[0m:\u001b[94m559\u001b[0m in \u001b[92msession\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m556 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0m_re \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m557 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mtry\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m558 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m559 \u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m560 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m561 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m562 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/py4lexis/core/\u001b[0m\u001b[1;33msessio\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mn.py\u001b[0m:\u001b[94m172\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m169 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m login_method \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m170 \u001b[0m\u001b[2m│ │ │ \u001b[0moffline_acc \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m171 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m172 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.__uc = kck \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m173 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m174 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m175 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/py4lexis/core/\u001b[0m\u001b[1;33mkck_se\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mssion.py\u001b[0m:\u001b[94m62\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 59 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 60 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m._offline_a \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 61 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 62 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m._oid = \u001b[1;4mKey\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 63 \u001b[0m\u001b[1;2;4m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 64 \u001b[0m\u001b[1;2;4m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 65 \u001b[0m\u001b[1;2;4m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/keycloak/\u001b[0m\u001b[1;33mkeycloak_op\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33menid.py\u001b[0m:\u001b[94m127\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 124 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.client_se \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 125 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.realm_nam \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 126 \u001b[0m\u001b[2m│ │ \u001b[0mheaders = cust \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 127 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.connectio \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 128 \u001b[0m\u001b[2m│ │ │ \u001b[0mbase_url=s \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 129 \u001b[0m\u001b[2m│ │ │ \u001b[0mheaders=he \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 130 \u001b[0m\u001b[2m│ │ │ \u001b[0mtimeout=ti \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/keycloak/\u001b[0m\u001b[1;33mconnection.\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mpy\u001b[0m:\u001b[94m105\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m102 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m proxies: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m103 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[96mself\u001b[0m._s.pro \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m104 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m105 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.async_s = \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m106 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.async_s.au \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m107 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.async_s.tr \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m108 \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m╰───────────────────────────────╯\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[1;91mTypeError: \u001b[0m\u001b[1;35mAsyncClient.__init__\u001b[0m\u001b[1m(\u001b[0m\u001b[1m)\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m got an unexpected keyword \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m argument \u001b[32m'proxies'\u001b[0m \u001b[2m \u001b[0m\n", "2025-09-24 10:18:39,313 - owilix - ERROR - Could not list datasets in datacenter lrz: AsyncClient.__init__() got an unexpected keyword argument 'proxies'\n", "Traceback (most recent call last):\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 549, in list\n", " repo_result, elapsed_time = future.result()\n", " ^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/concurrent/futures/_base.py\", line 449, in result\n", " return self.__get_result()\n", " ^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/concurrent/futures/_base.py\", line 401, in __get_result\n", " raise self._exception\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/concurrent/futures/thread.py\", line 58, in run\n", " result = self.fn(*self.args, **self.kwargs)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 502, in _list_repo_wrapper\n", " result = repo.list(access, day, duration, query, cb_progress)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 1554, in list\n", " return self._list(access, day, duration, query, cb_progress, filter_zone=True)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 1531, in _list\n", " ds_records = self._lexis_ds_api.get_all_datasets(access=access, project=self.manager.name)\n", " ^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\", line 1492, in _lexis_ds_api\n", " self.__lexis_ds_api = OWILexisDatasetAPI(self.manager.session)\n", " ^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/manager.py\", line 559, in session\n", " self._session = LexisSession(\n", " ^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/py4lexis/core/session.py\", line 172, in __init__\n", " self.__uc = kck_oi(in_cli=in_cli,\n", " ^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/py4lexis/core/kck_session.py\", line 62, in __init__\n", " self._oid = KeycloakOpenID(self.url,\n", " ^^^^^^^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/keycloak/keycloak_openid.py\", line 127, in __init__\n", " self.connection = ConnectionManager(\n", " ^^^^^^^^^^^^^^^^^^\n", " File \"/Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/keycloak/connection.py\", line 105, in __init__\n", " self.async_s = httpx.AsyncClient(verify=verify, proxies=proxies, cert=cert)\n", " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", "TypeError: AsyncClient.__init__() got an unexpected keyword argument 'proxies'\n", "\u001b[2;36m[09/24/25 10:18:39]\u001b[0m\u001b[2;36m \u001b[0m\u001b[1;31mERROR \u001b[0m \u001b[1;36m2025\u001b[0m-\u001b[1;36m09\u001b[0m-\u001b[1;36m24\u001b[0m \u001b[1;92m10:18:39\u001b[0m,\u001b[1;36m313\u001b[0m - owilix \u001b]8;id=395044;file:///Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py\u001b\\\u001b[2mrepository.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=71980;file:///Users/mgrani/bin/miniforge3/envs/owi/lib/python3.11/site-packages/owilix/core/repository.py#554\u001b\\\u001b[2m554\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m - ERROR - Could not list datasets \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m in datacenter lrz: \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[1;35mAsyncClient.__init__\u001b[0m\u001b[1m(\u001b[0m\u001b[1m)\u001b[0m got an \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m unexpected keyword argument \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[32m'proxies'\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m╭─\u001b[0m\u001b[31m \u001b[0m\u001b[1;31mTraceback \u001b[0m\u001b[1;2;31m(most recent call \u001b[0m\u001b[31m─╮\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m549\u001b[0m in \u001b[92mlist\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 546 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mfor\u001b[0m future \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 547 \u001b[0m\u001b[2m│ │ │ │ \u001b[0mdc = f \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 548 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94mtry\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 549 \u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 550 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 551 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[96mlen\u001b[0m(repo_result)) \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 552 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0mre \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/concu\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mrrent/futures/\u001b[0m\u001b[1;33m_base.py\u001b[0m:\u001b[94m449\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92mresult\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m446 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[96mself\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m447 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mrai\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m448 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[94melif\u001b[0m \u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m449 \u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mret\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m450 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m451 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[96mself\u001b[0m._c \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m452 \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/concu\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mrrent/futures/\u001b[0m\u001b[1;33m_base.py\u001b[0m:\u001b[94m401\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92m__get_result\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m398 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m__get_result\u001b[0m(\u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m399 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[96mself\u001b[0m._except \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m400 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mtry\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m401 \u001b[2m│ │ │ │ \u001b[0m\u001b[94mraise\u001b[0m \u001b[96ms\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m402 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mfinally\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m403 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[2m# Break\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m404 \u001b[0m\u001b[2m│ │ │ │ \u001b[0m\u001b[1;4;96mself\u001b[0m\u001b[1;4m = \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/concu\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mrrent/futures/\u001b[0m\u001b[1;33mthread.py\u001b[0m:\u001b[94m58\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92mrun\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 55 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 56 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 57 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mtry\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 58 \u001b[2m│ │ │ \u001b[0mresult = \u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 59 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mexcept\u001b[0m \u001b[96mBaseExce\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 60 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[96mself\u001b[0m.future \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 61 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[2m# Break a r\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m502\u001b[0m in \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[92m_list_repo_wrapper\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 499 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 500 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 501 \u001b[0m\u001b[2m│ │ \u001b[0mstart = time.t \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 502 \u001b[2m│ │ \u001b[0mresult = \u001b[1;4mrepo.\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 503 \u001b[0m\u001b[2m│ │ \u001b[0melapsed_time = \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 504 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m result, \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 505 \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m1554\u001b[0m in \u001b[92mlist\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1551 \u001b[0m\u001b[2m│ │ \u001b[0mquery=\u001b[94mNone\u001b[0m, \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1552 \u001b[0m\u001b[2m│ │ \u001b[0mcb_progress=\u001b[94mNo\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1553 \u001b[0m\u001b[2m│ \u001b[0m) -> \u001b[96mlist\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1554 \u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[1;4;96mself\u001b[0m\u001b[1;4m._l\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1555 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1556 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1557 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92mfiles\u001b[0m(\u001b[96mself\u001b[0m, da \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m List[\u001b[96mstr\u001b[0m]: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m1531\u001b[0m in \u001b[92m_list\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1528 \u001b[0m\u001b[2m│ │ \u001b[0mcb_progress=\u001b[94mNo\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1529 \u001b[0m\u001b[2m│ │ \u001b[0mfilter_zone=\u001b[94mTr\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1530 \u001b[0m\u001b[2m│ \u001b[0m) -> \u001b[96mlist\u001b[0m: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1531 \u001b[2m│ │ \u001b[0mds_records = \u001b[1;4;96ms\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m project=\u001b[96mself\u001b[0m.manager.n \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1532 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[95mnot\u001b[0m ds_reco \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1533 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mreturn\u001b[0m [] \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1534 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m filter_zone \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mreposito\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mry.py\u001b[0m:\u001b[94m1492\u001b[0m in \u001b[92m_lexis_ds_api\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1489 \u001b[0m\u001b[2m│ \u001b[0m\u001b[1;95m@property\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1490 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m_lexis_ds_api\u001b[0m( \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1491 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[96mself\u001b[0m.__lexi \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1492 \u001b[2m│ │ │ \u001b[0m\u001b[96mself\u001b[0m.__lex \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1493 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[96mself\u001b[0m.__ \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1494 \u001b[0m\u001b[2m│ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m1495 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m_init_irods\u001b[0m(\u001b[96mse\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/owilix/core/\u001b[0m\u001b[1;33mmanager.\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mpy\u001b[0m:\u001b[94m559\u001b[0m in \u001b[92msession\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m556 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0m_re \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m557 \u001b[0m\u001b[2m│ │ │ │ │ \u001b[0m\u001b[94mtry\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m558 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m559 \u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m560 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m561 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m562 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/py4lexis/core/\u001b[0m\u001b[1;33msessio\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mn.py\u001b[0m:\u001b[94m172\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m169 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m login_method \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m170 \u001b[0m\u001b[2m│ │ │ \u001b[0moffline_acc \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m171 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m172 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.__uc = kck \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m173 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m174 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m175 \u001b[0m\u001b[2m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/py4lexis/core/\u001b[0m\u001b[1;33mkck_se\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mssion.py\u001b[0m:\u001b[94m62\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 59 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 60 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m._offline_a \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 61 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 62 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m._oid = \u001b[1;4mKey\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 63 \u001b[0m\u001b[1;2;4m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 64 \u001b[0m\u001b[1;2;4m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 65 \u001b[0m\u001b[1;2;4m│ │ │ │ │ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/keycloak/\u001b[0m\u001b[1;33mkeycloak_op\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33menid.py\u001b[0m:\u001b[94m127\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 124 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.client_se \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 125 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.realm_nam \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 126 \u001b[0m\u001b[2m│ │ \u001b[0mheaders = cust \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 127 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.connectio \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 128 \u001b[0m\u001b[2m│ │ │ \u001b[0mbase_url=s \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 129 \u001b[0m\u001b[2m│ │ │ \u001b[0mheaders=he \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m 130 \u001b[0m\u001b[2m│ │ │ \u001b[0mtimeout=ti \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33m/Users/mgrani/bin/miniforge3/\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33menvs/owi/lib/python3.11/site-\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2;33mpackages/keycloak/\u001b[0m\u001b[1;33mconnection.\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[1;33mpy\u001b[0m:\u001b[94m105\u001b[0m in \u001b[92m__init__\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m102 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m proxies: \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m103 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[96mself\u001b[0m._s.pro \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m104 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m105 \u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.async_s = \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m106 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.async_s.au \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m107 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.async_s.tr \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m│\u001b[0m \u001b[2m108 \u001b[0m \u001b[31m│\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[31m╰───────────────────────────────╯\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m \u001b[1;91mTypeError: \u001b[0m\u001b[1;35mAsyncClient.__init__\u001b[0m\u001b[1m(\u001b[0m\u001b[1m)\u001b[0m \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m got an unexpected keyword \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m argument \u001b[32m'proxies'\u001b[0m \u001b[2m \u001b[0m\n", "No data available to display.\n" ] } ], "source": [ "# execute a bash script here.\n", "# If you encounter problems here, run it from the terminal manually.\n", "!owilix --yes remote pull all:latest#5/collectionName=curlie_full num_threads=1" ] }, { "cell_type": "markdown", "id": "42a095ef3ec0e018", "metadata": {}, "source": [ "# Listing available parquet files \n", "\n", "Per default `owilix` puts the data under `~/.owi/public/` where collection name is `legal`in our case. \n", "\n", "The directory has a sub-directory per dataset as well as a .json file per dataset containing metadata about the dataset\n", "\n" ] }, { "cell_type": "markdown", "id": "4da338d0ac90a871", "metadata": {}, "source": [ "## Reading and Printing Dataset Metadata\n", "In a first step, we simly read the metadata and print it as pandas dataframe." ] }, { "cell_type": "code", "execution_count": 8, "id": "be66eb540ad59f98", "metadata": { "ExecuteTime": { "end_time": "2025-09-24T08:06:51.099001Z", "start_time": "2025-09-24T08:06:51.070359Z" } }, "outputs": [ { "ename": "FileNotFoundError", "evalue": "[Errno 2] No such file or directory: '/Users/mgrani/.owi/public/'", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[8]\u001b[39m\u001b[32m, line 11\u001b[39m\n\u001b[32m 9\u001b[39m data = []\n\u001b[32m 10\u001b[39m \u001b[38;5;66;03m# Iterate over all files in the directory\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m11\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m filename \u001b[38;5;129;01min\u001b[39;00m \u001b[43mos\u001b[49m\u001b[43m.\u001b[49m\u001b[43mlistdir\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdir_path\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[32m 12\u001b[39m \u001b[38;5;66;03m# Check if the file is a JSON file\u001b[39;00m\n\u001b[32m 13\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m filename.endswith(\u001b[33m\"\u001b[39m\u001b[33m.json\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m 14\u001b[39m \u001b[38;5;66;03m# Open and read the JSON file\u001b[39;00m\n\u001b[32m 15\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(os.path.join(dir_path, filename), \u001b[33m'\u001b[39m\u001b[33mr\u001b[39m\u001b[33m'\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m file:\n\u001b[32m 16\u001b[39m \u001b[38;5;66;03m# Load the JSON data into a Python object\u001b[39;00m\n", "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: '/Users/mgrani/.owi/public/'" ] } ], "source": [ "import os\n", "import json\n", "import pandas as pd\n", "\n", "# Path to your directory with JSON files\n", "dir_path = os.path.expanduser('~/.owi/public/')\n", "\n", "# List to store JSON data\n", "data = []\n", "# Iterate over all files in the directory\n", "for filename in os.listdir(dir_path):\n", " # Check if the file is a JSON file\n", " if filename.endswith(\".json\"):\n", " # Open and read the JSON file\n", " with open(os.path.join(dir_path, filename), 'r') as file:\n", " # Load the JSON data into a Python object\n", " json_data = json.load(file)\n", " \n", " # Create a new dictionary to hold the scalar values\n", " scalar_data = {}\n", " for key, value in json_data.items():\n", " if not isinstance(value, (list, dict)):\n", " scalar_data[key] = value\n", " \n", " # Append the scalar data to the list\n", " data.append(scalar_data)\n", "\n", "# Create a pandas DataFrame from the JSON data\n", "df = pd.DataFrame(data)\n", "\n", "# Display the DataFrame\n", "print(df[[\"title\",\"collectionName\", \"startDate\"]])\n" ] }, { "cell_type": "markdown", "id": "b8e61ba50fd491c7", "metadata": {}, "source": [ "## Reading Parquet files and esimtating statistics\n", "\n", "The main content is contained in parquet files contained in the subdirectory of all datasets. To access those files we first write a function collecting all parquet files with a certain path pattern. In our case we aim for files contained in `language=eng` sub-folders, as these are pages identified as english. " ] }, { "cell_type": "code", "execution_count": 6, "id": "e8f46d3dd9f51952", "metadata": { "ExecuteTime": { "end_time": "2025-09-24T08:04:21.430238Z", "start_time": "2025-09-24T08:04:20.898760Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "found 1104 files\n" ] } ], "source": [ "import os\n", "\n", "def collect_parquet_files(directory, pattern):\n", " \"\"\"\n", " Collects all parquet files with a certain path pattern.\n", "\n", " Args:\n", " directory (str): The directory to start searching from.\n", " pattern (str): The pattern to match in the file path. For example, 'language=eng/*.parquet'.\n", "\n", " Returns:\n", " list: A list of file paths matching the pattern.\n", " \"\"\"\n", " parquet_files = []\n", " for root, dirs, files in os.walk(directory):\n", " for file in files:\n", " if pattern in root and file.endswith('.parquet'):\n", " parquet_files.append(os.path.join(root, file))\n", " return parquet_files\n", "\n", "# Example usage:\n", "directory = dir_path\n", "pattern = 'language=eng'\n", "\n", "parquet_files = collect_parquet_files(directory, pattern)\n", "print(f\"found {len(parquet_files)} files\") \n" ] }, { "cell_type": "markdown", "id": "d3ee5bbea392c63c", "metadata": {}, "source": [ "## Accessing the data as pandas dataframe\n", "\n", "We now load the first file as dataframe and print its content:\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "6e85f20638154139", "metadata": { "ExecuteTime": { "end_time": "2025-09-24T08:04:28.004410Z", "start_time": "2025-09-24T08:04:25.428366Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idrecord_idtitledescriptionkeywordsauthormain_contentjson-ldmicrodataopengraph...ows_refererows_resource_typeows_tagsoutgoing_linksimage_linksvideo_linksiframescurlielabelscurlielabels_enaddress
00007ee8e62be26f1a37bb9ad8aaf70cab53e97a6ab2c75...e07bf2c2-5608-446d-97e6-31b8f1a4f6e8NoneNoneNoneNone<p>{{Géolocalisation/Projection équirectangula...NoneNoneNone...Nonearticle2warc.pyNoneNoneNoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
10008c736a14d2e9bfce27281d0c4e7d25e21441c5b1607...448bce6f-c823-49f7-ba1e-bdfdaf0927e5NoneNoneNoneNone<p>{{ébauche|film américain}}</p>\\n\\n<p>{{Info...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/morgan...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
2002dd91e8dcf0032ef82136cfe0bfcce432c1b4c8be768...59274f37-42ef-4eaa-8cdf-6d6ce9a01780NoneNoneNoneNone<p>{{Ébauche|album}}</p>\\n\\n<p>{{Voir homonyme...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/away-f...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
3003584f824bc60f0c63889841f75263832b84824eeb2d2...f2d7cd89-9f24-4904-b18f-cf0e7b213c7eNoneNoneNoneNone<p>{{voir homonymes|Schlicke}}</p>\\n\\n<p>{{éba...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/catego...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
4003869670137923b1c95fcd10a696248d655bbba4eebe0...27651db6-b335-482d-8a0e-702e10366d82NoneNoneNoneNone<p>{{Boîte déroulante/début|titre=<a href=\"htt...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/châtea...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
..................................................................
8589ffe65750b0185a95fd02bf7742e581d66bd72e562ec214...afb2eaab-11fe-41f4-865f-1a51eb04eed2NoneNoneNoneNone<p>{{voir homonymes|Translation}}</p>\\n\\n<p>{{...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/hip-ho...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
8590ffee85bcb3629b370d15d53bbf147168d2f513fffe8002...fe6c38c1-80ba-48b8-9dee-ff90a9414aafNoneNoneNoneNone<p>{{ébauche|localité ouzbèke}}</p>\\n\\n<p>{{In...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/ouzbek...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
8591fff6e4ff6705269931a12fee69db9bf19d9c4c3841f756...13886567-7b9a-4c75-baef-940c8d00ccffNoneNoneNoneNone<p>require('strict')</p>\\n\\n<p>local p = {}</p...NoneNoneNone...Nonearticle2warc.pyNoneNoneNoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
8592fff7611af333cf7fc139174adc826a577b065e9c702be0...c1ac2982-8333-4a6f-8e04-3f0abfec2ea0NoneNoneNoneNone<p>{{ {{{1|country showdata}}}</p>\\n\\n<p>| ali...NoneNoneNone...Nonearticle2warc.pyNoneNoneNoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
8593fff9bea1a46c10880bee7ef42676f3da1838369605ff69...a6102a37-2ab1-42e0-856e-a02917d28e22NoneNoneNoneNone<p>{{Ébauche|localité de l'Illinois}}</p>\\n\\n<...NoneNoneNone...Nonearticle2warc.pyNone[{'src': 'https://fr.wikipedia.org/wiki/townsh...NoneNoneNone[World/Français/Références/Encyclopédies]NoneNone
\n", "

8594 rows × 47 columns

\n", "
" ], "text/plain": [ " id \\\n", "0 0007ee8e62be26f1a37bb9ad8aaf70cab53e97a6ab2c75... \n", "1 0008c736a14d2e9bfce27281d0c4e7d25e21441c5b1607... \n", "2 002dd91e8dcf0032ef82136cfe0bfcce432c1b4c8be768... \n", "3 003584f824bc60f0c63889841f75263832b84824eeb2d2... \n", "4 003869670137923b1c95fcd10a696248d655bbba4eebe0... \n", "... ... \n", "8589 ffe65750b0185a95fd02bf7742e581d66bd72e562ec214... \n", "8590 ffee85bcb3629b370d15d53bbf147168d2f513fffe8002... \n", "8591 fff6e4ff6705269931a12fee69db9bf19d9c4c3841f756... \n", "8592 fff7611af333cf7fc139174adc826a577b065e9c702be0... \n", "8593 fff9bea1a46c10880bee7ef42676f3da1838369605ff69... \n", "\n", " record_id title description keywords author \\\n", "0 e07bf2c2-5608-446d-97e6-31b8f1a4f6e8 None None None None \n", "1 448bce6f-c823-49f7-ba1e-bdfdaf0927e5 None None None None \n", "2 59274f37-42ef-4eaa-8cdf-6d6ce9a01780 None None None None \n", "3 f2d7cd89-9f24-4904-b18f-cf0e7b213c7e None None None None \n", "4 27651db6-b335-482d-8a0e-702e10366d82 None None None None \n", "... ... ... ... ... ... \n", "8589 afb2eaab-11fe-41f4-865f-1a51eb04eed2 None None None None \n", "8590 fe6c38c1-80ba-48b8-9dee-ff90a9414aaf None None None None \n", "8591 13886567-7b9a-4c75-baef-940c8d00ccff None None None None \n", "8592 c1ac2982-8333-4a6f-8e04-3f0abfec2ea0 None None None None \n", "8593 a6102a37-2ab1-42e0-856e-a02917d28e22 None None None None \n", "\n", " main_content json-ld microdata \\\n", "0

{{Géolocalisation/Projection équirectangula... None None \n", "1

{{ébauche|film américain}}

\\n\\n

{{Info... None None \n", "2

{{Ébauche|album}}

\\n\\n

{{Voir homonyme... None None \n", "3

{{voir homonymes|Schlicke}}

\\n\\n

{{éba... None None \n", "4

{{Boîte déroulante/début|titre={{voir homonymes|Translation}}

\\n\\n

{{... None None \n", "8590

{{ébauche|localité ouzbèke}}

\\n\\n

{{In... None None \n", "8591

require('strict')

\\n\\n

local p = {}{{ {{{1|country showdata}}}

\\n\\n

| ali... None None \n", "8593

{{Ébauche|localité de l'Illinois}}

\\n\\n<... None None \n", "\n", " opengraph ... ows_referer ows_resource_type ows_tags \\\n", "0 None ... None article2warc.py None \n", "1 None ... None article2warc.py None \n", "2 None ... None article2warc.py None \n", "3 None ... None article2warc.py None \n", "4 None ... None article2warc.py None \n", "... ... ... ... ... ... \n", "8589 None ... None article2warc.py None \n", "8590 None ... None article2warc.py None \n", "8591 None ... None article2warc.py None \n", "8592 None ... None article2warc.py None \n", "8593 None ... None article2warc.py None \n", "\n", " outgoing_links image_links \\\n", "0 None None \n", "1 [{'src': 'https://fr.wikipedia.org/wiki/morgan... None \n", "2 [{'src': 'https://fr.wikipedia.org/wiki/away-f... None \n", "3 [{'src': 'https://fr.wikipedia.org/wiki/catego... None \n", "4 [{'src': 'https://fr.wikipedia.org/wiki/châtea... None \n", "... ... ... \n", "8589 [{'src': 'https://fr.wikipedia.org/wiki/hip-ho... None \n", "8590 [{'src': 'https://fr.wikipedia.org/wiki/ouzbek... None \n", "8591 None None \n", "8592 None None \n", "8593 [{'src': 'https://fr.wikipedia.org/wiki/townsh... None \n", "\n", " video_links iframes curlielabels \\\n", "0 None None [World/Français/Références/Encyclopédies] \n", "1 None None [World/Français/Références/Encyclopédies] \n", "2 None None [World/Français/Références/Encyclopédies] \n", "3 None None [World/Français/Références/Encyclopédies] \n", "4 None None [World/Français/Références/Encyclopédies] \n", "... ... ... ... \n", "8589 None None [World/Français/Références/Encyclopédies] \n", "8590 None None [World/Français/Références/Encyclopédies] \n", "8591 None None [World/Français/Références/Encyclopédies] \n", "8592 None None [World/Français/Références/Encyclopédies] \n", "8593 None None [World/Français/Références/Encyclopédies] \n", "\n", " curlielabels_en address \n", "0 None None \n", "1 None None \n", "2 None None \n", "3 None None \n", "4 None None \n", "... ... ... \n", "8589 None None \n", "8590 None None \n", "8591 None None \n", "8592 None None \n", "8593 None None \n", "\n", "[8594 rows x 47 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.read_parquet(parquet_files[0])" ] }, { "cell_type": "markdown", "id": "c0ac93a0db04b6ab", "metadata": {}, "source": [ "now we iterate over all files, load every one as pandas frame and count the number of `.de` urls in the `url` field, i.e. we look for the regular expression of `.de/`. \n", "\n", "Note that this can take some time, so we limit ourselfs to 10 parquet files" ] }, { "cell_type": "code", "execution_count": 21, "id": "80c07ca273773569", "metadata": { "ExecuteTime": { "end_time": "2024-11-05T08:44:08.610512Z", "start_time": "2024-11-05T08:44:08.369758Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=30/language=eng/metadata_0.parquet': 3, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/language=eng/metadata_0.parquet': 14, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=10/day=30/language=eng/metadata_0.parquet': 3, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=10/day=24/language=eng/metadata_0.parquet': 14, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=12/day=29/language=eng/metadata_0.parquet': 2, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=12/day=08/language=eng/metadata_0.parquet': 7, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=12/day=30/language=eng/metadata_0.parquet': 3, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=12/day=06/language=eng/metadata_0.parquet': 4, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=12/day=07/language=eng/metadata_0.parquet': 7, '/home/mgrani/.owi/public/legal/0bb8c994-394a-11ef-84f3-0242ac1d0009/year=2023/month=10/day=24/year=2023/month=12/day=05/language=eng/metadata_0.parquet': 2}\n" ] } ], "source": [ "import pandas as pd\n", "import re\n", "\n", "def count_de_urls(parquet_files):\n", " \"\"\"\n", " Counts the number of .de URLs in the 'url' field of each parquet file.\n", "\n", " Args:\n", " parquet_files (list): A list of parquet file paths.\n", "\n", " Returns:\n", " dict: A dictionary with the file path as the key and the count of .de URLs as the value.\n", " \"\"\"\n", " de_url_counts = {}\n", " for file in parquet_files:\n", " try:\n", " # Load the parquet file as a pandas DataFrame\n", " df = pd.read_parquet(file)\n", "\n", " # Use a regular expression to find URLs ending with '.de/' in the 'url' field\n", " de_url_count = df['url'].str.contains(r'.de/', regex=True).sum()\n", "\n", " # Store the count in the dictionary\n", " de_url_counts[file] = de_url_count\n", " except Exception as e:\n", " print(f\"Error reading file {file}: {e}\")\n", " \n", " return de_url_counts\n", "\n", "# Example usage:\n", "parquet_files = collect_parquet_files(directory, pattern)\n", "de_url_counts = count_de_urls(parquet_files[0:10])\n", "\n", "print(de_url_counts)\n" ] }, { "cell_type": "markdown", "id": "b0d820d330e39721", "metadata": {}, "source": [ "We can alos plot the count." ] }, { "cell_type": "code", "execution_count": 25, "id": "5affdad416487259", "metadata": { "ExecuteTime": { "end_time": "2024-11-05T08:46:20.792703Z", "start_time": "2024-11-05T08:46:18.833738Z" } }, "outputs": [ { "data": { "image/png": "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1K9fH8WLF0fnzp2RK1cu/P3339i7dy/0er3huvqMoNfrsWDBArRv3x7lypXDJ598Ai8vL9y8eRNbt25F5cqVTQ6CEBHRO0qIiIisxJIlSwSA4eHg4CA+Pj5St25dmTVrlkRFRZl8ZvTo0UafefWxd+/eN/7dW7duSbdu3SRXrlxiZ2cnWbNmlUaNGsmRI0dM3tuxY0dxdXVNMU5YWJjY2tpKx44dDctel9u4cePemNvJkyelTZs24uvrK/b29pIlSxapXbu2LFu2TBITEw3ve/LkiQwYMMDwvoIFC8rUqVMlKSnJKF5sbKx07dpVPDw8xN3dXVq3bi33798XADJ69GjD+5LX64MHD4w+n7yNwsPDDcsuX74s1apVE2dnZwFg9O9/1d69ewWA/PzzzzJs2DDJkSOHODs7S8OGDeXGjRsm7z99+rS0aNFCsmXLJo6OjpI3b15p3bq17N69+425vimHNWvWpPqeV9dHSv/u5FhBQUHi4eEhTk5Okj9/funUqZOcOHEiTbkQEZH104kovtMJERERURrt27cPNWvWxJo1a9CqVauMToeIiCjdeE03ERERERERkSIsuomIiIiIiIgUYdFNREREREREpAiv6SYiIiIiIiJShL90ExERERERESnCopuIiIiIiIhIEbuMTkC1pKQk3L59G+7u7tDpdBmdDhEREREREb0DRARPnjyBr68vbGxS/z37nS+6b9++DT8/v4xOg4iIiIiIiN5BERERyJ07d6qvv/NFt7u7O4AXK0Kv12dwNkRERERERPQuiIqKgp+fn6HmTM07X3Qnn1Ku1+tZdBMREREREZFFvekyZt5IjYiIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKSIXUYnQP8n39Ct6Y5xfVJDC2RCRERERERElsBfuomIiIiIiIgUYdFNREREREREpAiLbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKQIi24iIiIiIiIiRVh0ExERERERESnCopuIiIiIiIhIkQwtuhcsWIBSpUpBr9dDr9cjMDAQv/32m+H1GjVqQKfTGT169uyZgRkTERERERERpZ1dRv7x3LlzY9KkSShYsCBEBMuWLUPTpk1x+vRpFC9eHADQvXt3jB071vAZFxeXjEqXiIiIiIiIyCwZWnQ3btzY6Pk333yDBQsW4MiRI4ai28XFBT4+PhmRHhEREREREVG6ZJpruhMTE7F69WrExMQgMDDQsHzlypXInj07SpQogWHDhiE2NjYDsyQiIiIiIiJKuwz9pRsAzp8/j8DAQDx79gxubm7YsGEDihUrBgBo06YN8ubNC19fX5w7dw5DhgzBlStXsH79+lTjxcXFIS4uzvA8KipK+b+BiIiIiIiIKCUZXnQXLlwYZ86cQWRkJNauXYuOHTti//79KFasGD777DPD+0qWLImcOXOidu3aCAsLQ/78+VOMN3HiRAQHB7+t9ImIiIiIiIhSleGnlzs4OKBAgQIoX748Jk6ciNKlS2PWrFkpvrdChQoAgNDQ0FTjDRs2DJGRkYZHRESEkryJiIiIiIiI3iTDf+l+VVJSktHp4S87c+YMACBnzpypft7R0RGOjo4qUiMiIiIiIiIyS4YW3cOGDUP9+vWRJ08ePHnyBKtWrcK+ffuwY8cOhIWFYdWqVWjQoAGyZcuGc+fOYcCAAahWrRpKlSqVkWkTERERERERpUmGFt33799Hhw4dcOfOHXh4eKBUqVLYsWMH6tati4iICOzatQvffvstYmJi4Ofnh5YtW2LEiBEZmTIRERERERFRmmVo0f3jjz+m+pqfnx/279//FrMhIiIiIiIisqwMv5EaERERERER0buKRTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKQIi24iIiIiIiIiRVh0ExERERERESnCopuIiIiIiIhIERbdRERERERERIqw6CYiIiIiIiJShEU3ERERERERkSIsuomIiIiIiIgUYdFNREREREREpAiLbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiGVp0L1iwAKVKlYJer4der0dgYCB+++03w+vPnj1Dr169kC1bNri5uaFly5a4d+9eBmZMRERERERElHYZWnTnzp0bkyZNwsmTJ3HixAnUqlULTZs2xV9//QUAGDBgALZs2YI1a9Zg//79uH37Nlq0aJGRKRMRERERERGlmU5EJKOTeFnWrFkxdepUtGrVCl5eXli1ahVatWoFALh8+TKKFi2Kw4cPo2LFimmKFxUVBQ8PD0RGRkKv16tMPd3yDd2a7hjXJzW0QCZERERERET0OmmtNTPNNd2JiYlYvXo1YmJiEBgYiJMnTyI+Ph516tQxvKdIkSLIkycPDh8+nGqcuLg4REVFGT2IiIiIiIiIMkKGF93nz5+Hm5sbHB0d0bNnT2zYsAHFihXD3bt34eDgAE9PT6P3e3t74+7du6nGmzhxIjw8PAwPPz8/xf8CIiIiIiIiopRleNFduHBhnDlzBkePHsXnn3+Ojh074uLFi5rjDRs2DJGRkYZHRESEBbMlIiIiIiIiSju7jE7AwcEBBQoUAACUL18ex48fx6xZs/Dxxx/j+fPnePz4sdGv3ffu3YOPj0+q8RwdHeHo6Kg6bSIiIiIiIqI3yvBful+VlJSEuLg4lC9fHvb29ti9e7fhtStXruDmzZsIDAzMwAyJiIiIiIiI0iZDf+keNmwY6tevjzx58uDJkydYtWoV9u3bhx07dsDDwwNdu3bFwIEDkTVrVuj1evTp0weBgYFpvnM5ERERERERUUbK0KL7/v376NChA+7cuQMPDw+UKlUKO3bsQN26dQEAM2fOhI2NDVq2bIm4uDgEBQVh/vz5GZkyERERERERUZplunm6LY3zdBMREREREZGlWd083URERERERETvGhbdRERERERERIqw6CYiIiIiIiJShEU3ERERERERkSIsuomIiIiIiIgUYdFNREREREREpAiLbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKQIi24iIiIiIiIiRVh0ExERERERESnCopuIiIiIiIhIERbdRERERERERIqw6CYiIiIiIiJShEU3ERERERERkSIsuomIiIiIiIgUscvoBIisVb6hW9Md4/qkhhbIhIiIiIiIMiv+0k1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpkqFF98SJE/H+++/D3d0dOXLkQLNmzXDlyhWj99SoUQM6nc7o0bNnzwzKmIiIiIiIiCjtMrTo3r9/P3r16oUjR45g586diI+Px4cffoiYmBij93Xv3h137twxPKZMmZJBGRMRERERERGlndlFd5cuXfDkyROT5TExMejSpYtZsbZv345OnTqhePHiKF26NJYuXYqbN2/i5MmTRu9zcXGBj4+P4aHX681Nm4iIiIiIiOitM7voXrZsGZ4+fWqy/OnTp1i+fHm6komMjAQAZM2a1Wj5ypUrkT17dpQoUQLDhg1DbGxsqjHi4uIQFRVl9CAiIiIiIiLKCGmepzsqKgoiAhHBkydP4OTkZHgtMTER27ZtQ44cOTQnkpSUhP79+6Ny5cooUaKEYXmbNm2QN29e+Pr64ty5cxgyZAiuXLmC9evXpxhn4sSJCA4O1pwHERERERERkaWkuej29PQ03MisUKFCJq/rdLp0Fbu9evXChQsXcOjQIaPln332meH/S5YsiZw5c6J27doICwtD/vz5TeIMGzYMAwcONDyPioqCn5+f5ryIiIiIiIiItEpz0b13716ICGrVqoV169YZnQLu4OBg+DVai969e+N///sfDhw4gNy5c7/2vRUqVAAAhIaGplh0Ozo6wtHRUVMeRERERERERJaU5qK7evXqAIDw8HD4+fnBxib9Nz4XEfTp0wcbNmzAvn374O/v/8bPnDlzBgCQM2fOdP99IiIiIiIiIpXSXHQny5s3Lx4/foxjx47h/v37SEpKMnq9Q4cOaY7Vq1cvrFq1Cps2bYK7uzvu3r0LAPDw8ICzszPCwsKwatUqNGjQANmyZcO5c+cwYMAAVKtWDaVKlTI3dSIiIiIiIqK3yuyie8uWLWjbti2io6Oh1+uh0+kMr+l0OrOK7gULFgAAatSoYbR8yZIl6NSpExwcHLBr1y58++23iImJgZ+fH1q2bIkRI0aYmzYRERERERHRW2d20T1o0CB06dIFEyZMgIuLS7r+uIi89nU/Pz/s378/XX+DiIiIiIiIKKOYfWH233//jb59+6a74CYiIiIiIiJ615lddAcFBeHEiRMqciEiIiIiIiJ6p5h9ennDhg0xePBgXLx4ESVLloS9vb3R602aNLFYckRERERERETWzOyiu3v37gCAsWPHmrym0+mQmJiY/qyIiIiIiIiI3gFmF92vThFGRERERERERCkz+5puIiIiIiIiIkobs3/pTum08peNGjVKczJERERERERE7xKzi+4NGzYYPY+Pj0d4eDjs7OyQP39+Ft1ERERERERE/5/ZRffp06dNlkVFRaFTp05o3ry5RZIiIiIiIiIiehdY5JpuvV6P4OBgjBw50hLhiIiIiIiIiN4JFruRWmRkJCIjIy0VjoiIiIiIiMjqmX16+ezZs42eiwju3LmDFStWoH79+hZLjIiI/rvyDd1qkTjXJzW0SByijGKJfYH7ARFRxjK76J45c6bRcxsbG3h5eaFjx44YNmyYxRIjIiIiIiIisnZmF93h4eEq8iAiIiIiIiJ656Trmu5bt27h1q1blsqFiIiIiIiI6J1idtGdlJSEsWPHwsPDA3nz5kXevHnh6emJcePGISkpSUWORERERERERFbJ7NPLhw8fjh9//BGTJk1C5cqVAQCHDh3CmDFj8OzZM3zzzTcWT5KIiIiIiIjIGplddC9btgw//PADmjRpYlhWqlQp5MqVC1988QWLbiIiIiIiIqL/z+zTyx89eoQiRYqYLC9SpAgePXpkkaSIiIiIiIiI3gVmF92lS5fG3LlzTZbPnTsXpUuXtkhSRERERERERO8Cs08vnzJlCho2bIhdu3YhMDAQAHD48GFERERg27ZtFk+QiIiIMrd8Q7daJM71SQ0tEofeLZZoX2xbRJSRzP6lu3r16rh69SqaN2+Ox48f4/Hjx2jRogWuXLmCqlWrqsiRiIiIiIiIyCqZ/Us3APj6+vKGaURERERERERvkOZfukNCQvDpp58iKirK5LXIyEi0adMG165ds2hyRERERERERNYszUX31KlT4efnB71eb/Kah4cH/Pz8MHXqVIsmR0RERERERGTN0lx079+/Hx999FGqr7du3Rp79uyxSFJERERERERE74I0F903b95Ejhw5Un09e/bsiIiIsEhSRERERERERO+CNBfdHh4eCAsLS/X10NDQFE89JyIiIiIiIvqvSnPRXa1aNcyZMyfV12fPns0pw4iIiIiIiIhekuYpw4YNG4bAwEC0atUKX331FQoXLgwAuHz5MqZMmYIdO3bgzz//VJYoEREREVlGvqFb0x3j+qSGFo+ZUlwiImuX5qK7bNmyWLt2Lbp06YINGzYYvZYtWzb8+uuvKFeunMUTJCIiIiIiIrJWaS66AaBRo0a4ceMGtm/fjtDQUIgIChUqhA8//BAuLi6qciQiIiIiIiKySmYV3QDg7OyM5s2bq8iFiIiIiIiI6J2S5hupqTBx4kS8//77cHd3R44cOdCsWTNcuXLF6D3Pnj1Dr169kC1bNri5uaFly5a4d+9eBmVMRERERERElHYZWnTv378fvXr1wpEjR7Bz507Ex8fjww8/RExMjOE9AwYMwJYtW7BmzRrs378ft2/fRosWLTIwayIiIiIiIqK0Mfv0ckvavn270fOlS5ciR44cOHnyJKpVq4bIyEj8+OOPWLVqFWrVqgUAWLJkCYoWLYojR46gYsWKGZE2ERERERERUZpY7Jfu2NjYdE8ZFhkZCQDImjUrAODkyZOIj49HnTp1DO8pUqQI8uTJg8OHD6frbxERERERERGpZrFfukNCQlC1alUkJiZq+nxSUhL69++PypUro0SJEgCAu3fvwsHBAZ6enkbv9fb2xt27d1OMExcXh7i4OMPzqKgoTfkQERERERERpVeGnl7+sl69euHChQs4dOhQuuJMnDgRwcHBFsqK3gX5hm61SJzrkxpaJA7Rm7DNEhEREb07MvRGasl69+6N//3vf9i7dy9y585tWO7j44Pnz5/j8ePHRu+/d+8efHx8Uow1bNgwREZGGh4REREqUyciIiIiIiJKVYYW3SKC3r17Y8OGDdizZw/8/f2NXi9fvjzs7e2xe/duw7IrV67g5s2bCAwMTDGmo6Mj9Hq90YOIiIiIiIgoI6T59PLNmze/9vXw8HCz/3ivXr2watUqbNq0Ce7u7obrtD08PODs7AwPDw907doVAwcORNasWaHX69GnTx8EBgbyzuVERERERESU6aW56G7WrNkb36PT6cz64wsWLAAA1KhRw2j5kiVL0KlTJwDAzJkzYWNjg5YtWyIuLg5BQUGYP3++WX+HiIiIiIiIKCOkuehOSkqy+B8XkTe+x8nJCfPmzcO8efMs/veJiIiIiIiIVLLoNd1Pnz61ZDgiIiIiIiIiq2aRojsuLg7Tp083uREaERERERER0X9ZmovuuLg4DBs2DO+99x4qVaqEjRs3Anhx/bW/vz++/fZbDBgwQFWeRERERERERFYnzdd0jxo1Ct999x3q1KmDP//8Ex999BE6d+6MI0eOYMaMGfjoo49ga2urMlfSIN/QrRaJc31SQ4vEoYzBdkBERERElDHSXHSvWbMGy5cvR5MmTXDhwgWUKlUKCQkJOHv2rNl3LSciIiIiIiL6L0jz6eW3bt1C+fLlAQAlSpSAo6MjBgwYwIKbiIiIiIiIKBVpLroTExPh4OBgeG5nZwc3NzclSRERERERERG9C9J8ermIoFOnTnB0dAQAPHv2DD179oSrq6vR+9avX2/ZDImIiIiIiIisVJqL7o4dOxo9b9euncWTISIiIiIiInqXpLnoXrJkico8iIiIiIiIiN45ab6mm4iIiIiIiIjMk+ZfusuWLZvinco9PDxQqFAh9OvXD8WKFbNockT/RZaYU5vzadPbxDZLRERElLo0F93NmjVLcfnjx49x6tQplC1bFnv27EHlypUtlRsRERERERGRVUtz0T169OjXvj58+HCMGjUKu3fvTndSRERERERERO8Ci13T3aZNG5w/f95S4YiIiIiIiIisnsWKbltbWyQlJVkqHBEREREREZHVs1jRvX79et5IjYiIiIiIiOglab6me/bs2Skuj4yMxMmTJ7F161b89ttvFkuMiIiIiIiIyNqlueieOXNmisv1ej0KFy6MAwcOIDAw0GKJEREREREREVm7NBfd4eHhKvMgIiIiIiIieuekuegmIiIiIiKity/f0K0WiXN9UkOLxCHzWOxGakRERERERERkjEU3ERERERERkSIsuomIiIiIiIgUYdFNREREREREpEiai+4pU6bg6dOnhud//PEH4uLiDM+fPHmCL774wrLZEREREREREVmxNBfdw4YNw5MnTwzP69evj7///tvwPDY2Ft99951lsyMiIiIiIiKyYmkuukXktc+JiIiIiIiIyBiv6SYiIiIiIiJSxC6jEyDrlG/o1nTHuD6poQUyIcpY3BdIFbYtIiKid4NZRfcPP/wANzc3AEBCQgKWLl2K7NmzA4DR9d5EREREREREZEbRnSdPHixatMjw3MfHBytWrDB5DxERERERERG9kOai+/r16wrTICIiIiIiInr38EZqRERERERERIqYVXQnJSVh8eLFaNSoEUqUKIGSJUuiSZMmWL58uaYpxA4cOIDGjRvD19cXOp0OGzduNHq9U6dO0Ol0Ro969eqZ/XeIiIiIiIiIMoJZ83Q3adIE3bp1w99//42SJUuiePHiuHHjBjp16oTmzZub/cdjYmJQunRpzJs3L9X31KtXD3fu3DE8fv75Z7P/DhEREREREVFGSPM13UuXLsWBAwewe/du1KxZ0+i1PXv2oFmzZli+fDk6dOiQ5j9ev3591K9f/7XvcXR0hI+PT5pjEhEREREREWUWaf6l++eff8bXX39tUnADQK1atTB06FCsXLnSoskBwL59+5AjRw4ULlwYn3/+OR4+fPja98fFxSEqKsroQURERERERJQR0vxL97lz5zBlypRUX69fvz5mz55tkaSS1atXDy1atIC/vz/CwsLw9ddfo379+jh8+DBsbW1T/MzEiRMRHBxs0TyIKGX5hm5Nd4zrkxpaIJM3s6ZciYiIiOjdkeai+9GjR/D29k71dW9vb/z7778WSSrZJ598Yvj/kiVLolSpUsifPz/27duH2rVrp/iZYcOGYeDAgYbnUVFR8PPzs2heRERERERERGmR5tPLExMTYWeXeo1ua2uLhIQEiySVmoCAAGTPnh2hoaGpvsfR0RF6vd7oQURERERERJQR0vxLt4igU6dOcHR0TPH1uLg4iyWVmlu3buHhw4fImTOn8r9FRERERERElF5pLro7duz4xveYc+dyAIiOjjb61To8PBxnzpxB1qxZkTVrVgQHB6Nly5bw8fFBWFgYvvrqKxQoUABBQUFm/R0iIiIiIiKijJDmonvJkiUW/+MnTpwwuht68rXYHTt2xIIFC3Du3DksW7YMjx8/hq+vLz788EOMGzcu1V/biYiIiIiIiDKTNBfdKtSoUQMikurrO3bseIvZEBEREREREVlWmm+kRkRERERERETmYdFNREREREREpEiGnl5ORERE9C7IN3SrReJcn9TQInGIKONYoj9gX/Bu4S/dRERERERERIqw6CYiIiIiIiJShEU3ERERERERkSIsuomIiIiIiIgUYdFNREREREREpAiLbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRu4xOgIiI3o58Q7emO8b1SQ0tkEnG4ToggO2AiIjeLv7STURERERERKQIi24iIiIiIiIiRVh0ExERERERESnCopuIiIiIiIhIERbdRERERERERIqw6CYiIiIiIiJShEU3ERERERERkSIsuomIiIiIiIgUscvoBIhelm/o1nTHuD6poQUyoYzEdkCkDvcvIrJG7LvImvGXbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBThPN1ERETpxPljiUgla+pjrClXoreFv3QTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlIkQ4vuAwcOoHHjxvD19YVOp8PGjRuNXhcRjBo1Cjlz5oSzszPq1KmDkJCQjEmWiIiIiIiIyEwZWnTHxMSgdOnSmDdvXoqvT5kyBbNnz8bChQtx9OhRuLq6IigoCM+ePXvLmRIRERERERGZL0OnDKtfvz7q16+f4msigm+//RYjRoxA06ZNAQDLly+Ht7c3Nm7ciE8++eRtpkpERERERERktkx7TXd4eDju3r2LOnXqGJZ5eHigQoUKOHz4cKqfi4uLQ1RUlNGDiIiIiIiIKCNk6C/dr3P37l0AgLe3t9Fyb29vw2spmThxIoKDg5XmRkREROrlG7o13TGuT2pogUyIiN5NqvpZ9t/GMu0v3VoNGzYMkZGRhkdERERGp0RERERERET/UZm26Pbx8QEA3Lt3z2j5vXv3DK+lxNHREXq93uhBRERERERElBEybdHt7+8PHx8f7N6927AsKioKR48eRWBgYAZmRkRERERERJQ2GXpNd3R0NEJDQw3Pw8PDcebMGWTNmhV58uRB//79MX78eBQsWBD+/v4YOXIkfH190axZs4xLmoiIiIiIiCiNMrToPnHiBGrWrGl4PnDgQABAx44dsXTpUnz11VeIiYnBZ599hsePH6NKlSrYvn07nJycMiplIiIiIiIiojTL0KK7Ro0aEJFUX9fpdBg7dizGjh37FrMiIiIiIiIisoxMe003ERERERERkbVj0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKQIi24iIiIiIiIiRewyOgEiIiIiorcp39CtFolzfVJDi8ShjMF2QG8Lf+kmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKQIi24iIiIiIiIiRVh0ExERERERESnCopuIiIiIiIhIERbdRERERERERIrYZXQCRERERETvgnxDt6Y7xvVJDS2QCRFlJvylm4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpYpfRCRARERER0duVb+hWi8S5PqmhReIQvcv4SzcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkSKYuuseMGQOdTmf0KFKkSEanRURERERERJQmmf5GasWLF8euXbsMz+3sMn3KRERERERERACsoOi2s7ODj49PRqdBREREREREZLZMfXo5AISEhMDX1xcBAQFo27Ytbt68mdEpEREREREREaVJpv6lu0KFCli6dCkKFy6MO3fuIDg4GFWrVsWFCxfg7u6e4mfi4uIQFxdneB4VFfW20iUiIiIiIiIykqmL7vr16xv+v1SpUqhQoQLy5s2LX3/9FV27dk3xMxMnTkRwcPDbSpGIiIiIiIgoVZn+9PKXeXp6olChQggNDU31PcOGDUNkZKThERER8RYzJCIiIiIiIvo/VlV0R0dHIywsDDlz5kz1PY6OjtDr9UYPIiIiIiIiooyQqYvuL7/8Evv378f169fx559/onnz5rC1tcWnn36a0akRERERERERvVGmvqb71q1b+PTTT/Hw4UN4eXmhSpUqOHLkCLy8vDI6NSIiIiIiIqI3ytRF9+rVqzM6BSIiIiIiIiLNMvXp5URERERERETWjEU3ERERERERkSIsuomIiIiIiIgUYdFNREREREREpAiLbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlKERTcRERERERGRIiy6iYiIiIiIiBRh0U1ERERERESkCItuIiIiIiIiIkVYdBMREREREREpwqKbiIiIiIiISBEW3URERERERESKsOgmIiIiIiIiUoRFNxEREREREZEiLLqJiIiIiIiIFGHRTURERERERKQIi24iIiIiIiIiRVh0ExERERERESnCopuIiIiIiIhIERbdRERERERERIqw6CYiIiIiIiJShEU3ERERERERkSIsuomIiIiIiIgUYdFNREREREREpAiLbiIiIiIiIiJFWHQTERERERERKcKim4iIiIiIiEgRFt1EREREREREirDoJiIiIiIiIlLEKoruefPmIV++fHByckKFChVw7NixjE6JiIiIiIiI6I0yfdH9yy+/YODAgRg9ejROnTqF0qVLIygoCPfv38/o1IiIiIiIiIheK9MX3TNmzED37t3RuXNnFCtWDAsXLoSLiwsWL16c0akRERERERERvVamLrqfP3+OkydPok6dOoZlNjY2qFOnDg4fPpyBmRERERERERG9mV1GJ/A6//zzDxITE+Ht7W203NvbG5cvX07xM3FxcYiLizM8j4yMBABERUWpS9RCkuJi0x3j1X+nJWKqipvSNuE64DpQFfe/lququFwH1rUOrClXVXG5DrgOVMVUFZfbi+tAVUxVcd/W9sqMknMUkde+TydvekcGun37NnLlyoU///wTgYGBhuVfffUV9u/fj6NHj5p8ZsyYMQgODn6baRIREREREdF/VEREBHLnzp3q65n6l+7s2bPD1tYW9+7dM1p+7949+Pj4pPiZYcOGYeDAgYbnSUlJePToEbJlywadTqc0X9WioqLg5+eHiIgI6PX6TBtTVVxrylVVXGvKVVVc5mpdca0pV1Vxmat1xbWmXFXFZa7WFdeaclUV15pyVRWXuWYMEcGTJ0/g6+v72vdl6qLbwcEB5cuXx+7du9GsWTMAL4ro3bt3o3fv3il+xtHREY6OjkbLPD09FWf6dun1eos3UBUxVcW1plxVxbWmXFXFZa7WFdeaclUVl7laV1xrylVVXOZqXXGtKVdVca0pV1Vxmevb5+Hh8cb3ZOqiGwAGDhyIjh074r333sMHH3yAb7/9FjExMejcuXNGp0ZERERERET0Wpm+6P7444/x4MEDjBo1Cnfv3kWZMmWwfft2k5urEREREREREWU2mb7oBoDevXunejr5f4mjoyNGjx5t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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "# install matplotlib if needed\n", "import matplotlib.pyplot as plt\n", "\n", "def plot_de_url_counts(de_url_counts):\n", " \"\"\"\n", " Converts the de_url_counts dictionary into a pandas DataFrame and plots it.\n", "\n", " Args:\n", " de_url_counts (dict): A dictionary with the file path as the key and the count of .de URLs as the value.\n", " \"\"\"\n", " # Convert the dictionary into a pandas DataFrame\n", " df = pd.DataFrame(list(de_url_counts.items()), columns=['File', 'DE URL Count'])\n", " df['File'] = df['File'].apply(lambda x: x[-20:])\n", " # Plot the DataFrame\n", " plt.figure(figsize=(10, 6))\n", " plt.bar(df['File'], df['DE URL Count'])\n", " plt.xlabel('File')\n", " plt.ylabel('DE URL Count')\n", " plt.title('DE URL Count per File')\n", " plt.xticks(rotation=90) # Rotate the x-axis labels for better readability\n", " plt.tight_layout() # Ensure the labels fit within the figure\n", " plt.show()\n", "\n", "# Example usage:\n", "parquet_files = collect_parquet_files(directory, pattern)\n", "de_url_counts = count_de_urls(parquet_files[0:100])\n", "plot_de_url_counts(de_url_counts)" ] }, { "cell_type": "markdown", "id": "f1b931f6f9488128", "metadata": {}, "source": [ "## Filtering for content\n", "\n", "While it is not the most efficient way, we can filter out content using a regular expression. For example, we could scan all impressums that contain Germany in the text and create a separate dataframe from it and plot the dataframe" ] }, { "cell_type": "code", "execution_count": 38, "id": "e005be02dfc85268", "metadata": { "ExecuteTime": { "end_time": "2024-11-05T09:02:02.761369Z", "start_time": "2024-11-05T08:58:24.757314Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " url domain_label \\\n", "0 https://mezger.eu/impressum_en.html None \n", "1 https://www.corporate-office-contacts.com/kiewit/ None \n", "2 https://chronic.news/big-pharma-loses-billions... None \n", "3 https://germanyworks.com/helpdesk/contact/ None \n", "4 https://www.flyuia.com/sa/en/contacts/corporate Regional \n", "... ... ... \n", "8421 https://beabongiasca.com/pages/shipping-repair... None \n", "8422 https://caiacosmetics.co.uk/uk/info/terms-and-... None \n", "8423 https://www.valmet.com/about-us/contact-us/aut... Business \n", "8424 https://www.glocomms.de/contact-us/frankfurt None \n", "8425 https://actlegal.com/hu/locations/hungary None \n", "\n", " title \\\n", "0 Impressum - mezger.eu_EN \n", "1 Kiewit Corporate Office [Contact: Phone Number... \n", "2 Big Pharma Loses Billions with Each State That... \n", "3 Contact - GERMANY WORKS. \n", "4 Corporate clients – UIA (Saudi Arabia) \n", "... ... \n", "8421 \\n \\n Terms & Conditions\\n \\n \\n ... \n", "8422 Terms and Conditions \n", "8423 Automation contact form \n", "8424 Frankfurt \n", "8425 Hungary - act legal \n", "\n", " plain_text \n", "0 • de\\n • fr\\n\\nmezger.eu_EN\\n\\nSkip navigat... \n", "1 Skip to content\\nCorporate Office Contacts\\n\\n... \n", "2 Sunday, May 28 2023\\nLatest\\n • Health Canada... \n", "3 • Industries\\n • Decarbonisation\\n • Downl... \n", "4 AGREE\\n\\nWE VALUE YOUR PRIVACY\\n\\nOur website ... \n", "... ... \n", "8421 Skip to content\\nThis site has limited support... \n", "8422 Current country\\nUK UK GBP\\n • Sweden Sweden\\... \n", "8423 Valmet - Forward\\nLogin icon-login\\nicon-close... \n", "8424 Glocomms DE\\n • Search for jobs\\n • Germ... \n", "8425 Bán & Partners\\n\\n • Főoldal\\n • Hírek\\n • ... \n", "\n", "[8426 rows x 4 columns]\n" ] } ], "source": [ "import pandas as pd\n", "import re\n", "\n", "def get_filtered_pages(parquet_files, filter_regex=r'.*Germany.*'):\n", " \"\"\"\n", " Returns a DataFrame with the filtered pages non-aggregated.\n", "\n", " Args:\n", " parquet_files (list): A list of parquet file paths.\n", "\n", " Returns:\n", " pandas.DataFrame: A DataFrame with the filtered pages non-aggregated.\n", " \"\"\"\n", " filtered_pages = []\n", " for file in parquet_files:\n", " try:\n", " # Load the parquet file as a pandas DataFrame\n", " df = pd.read_parquet(file)\n", "\n", " # Use a regular expression to filter pages containing 'Germany' in the 'url' or 'title' fields\n", " filtered_df = df[(df['url'].str.contains(filter_regex, regex=True)) | \n", " (df['title'].str.contains(filter_regex, regex=True))| \n", " (df['plain_text'].str.contains(filter_regex, regex=True))]\n", "\n", " # Add the filtered pages to the list\n", " filtered_pages.append(filtered_df)\n", " except Exception as e:\n", " print(f\"Error reading file {file}: {e}\")\n", " \n", " # Concatenate the filtered pages\n", " filtered_pages_df = pd.concat(filtered_pages, ignore_index=True)\n", " \n", " return filtered_pages_df\n", "\n", "# Example usage:\n", "parquet_files = collect_parquet_files(directory, pattern)\n", "filtered_pages_df = get_filtered_pages(parquet_files[0:400])\n", "print(filtered_pages_df)" ] }, { "cell_type": "code", "execution_count": 39, "id": "778976024c947d01", "metadata": { "ExecuteTime": { "end_time": "2024-11-05T09:02:22.404068Z", "start_time": "2024-11-05T09:02:22.330252Z" } }, "outputs": [ { "data": { "image/png": "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OX78uHTt2lX8/PzE19dXREQCAwPF09NTOnXqJH///bds27ZNRo4cKWFhYUoLbu/eveXy5csyZMgQiYmJkTlz5siqVatkwIABBnm+RERERGRYBu8CsXPnTomNjZVu3bplWRcZGSl58uSR1q1bS2pqqgQFBcmcOXOU9SYmJrJx40bp06eP+Pn5ScGCBSUkJETGjRunlHF1dZVNmzbJgAEDZMaMGeLo6CgLFizIsTmAiYiIiMi4GdU8wMaK8wATERERGbcPch5gIiIiIqLcwABMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqYvAAfPPmTenYsaMULVpUzM3NxcvLS44dO6asByCjRo2S4sWLi7m5uQQEBMjFixd1tnHv3j3p0KGDWFpaSuHChSU0NFQePHigU+bkyZNSp04dyZ8/vzg5OcmUKVNy5fkRERERkXExaABOTEyUWrVqSb58+WTLli1y9uxZmTp1qlhbWytlpkyZIt99953MmzdPDh8+LAULFpSgoCB58uSJUqZDhw5y5swZ2bFjh2zcuFH27t0rPXv2VNanpKRIYGCgODs7y/Hjx+Xbb7+VMWPGyPz583P1+RIRERGR4WkAwFAPPmzYMDlw4IDs27cv2/UAxMHBQQYNGiSDBw8WEZHk5GSxs7OTJUuWSPv27eXcuXPi6ekpR48elWrVqomIyNat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li0rJ06ckMOHD0ufPn0kJCREzp49a9A6RURESHJysvJz/fp1g9aHiIiIiPQnr6ErYGpqKu7u7iIi4u3tLUePHpUZM2ZIu3btJC0tTZKSknRagePj48Xe3l5EROzt7eXIkSM629POEpG5zIszR8THx4ulpaWYm5tnWyczMzMxMzPTy/MjIiIiIuNi8BbgF2VkZEhqaqp4e3tLvnz5JCoqSll3/vx5iY2NFT8/PxER8fPzk1OnTklCQoJSZseOHWJpaSmenp5Kmczb0JbRboOIiIiI1MWgLcARERHSuHFjKVmypNy/f1+WL18uu3fvlm3btomVlZWEhobKwIEDpUiRImJpaSn9+vUTPz8/8fX1FRGRwMBA8fT0lE6dOsmUKVMkLi5ORo4cKWFhYUoLbu/evWXWrFkyZMgQ6datm+zatUtWrVolmzbpd6YGIiIiIvowGDQAJyQkSOfOneX27dtiZWUlFStWlG3btknDhg1FRCQyMlLy5MkjrVu3ltTUVAkKCpI5c+Yof29iYiIbN26UPn36iJ+fnxQsWFBCQkJk3LhxShlXV1fZtGmTDBgwQGbMmCGOjo6yYMECCQoKyvXnS0RERESGZ3TzABsjzgNMREREZNw+yHmAiYiIiIhyAwMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqYpBA/DEiROlevXqUqhQIbG1tZUWLVrI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589LYmJiLj0bIiIiIjIWeQ1dgZeJi4sTERE7Ozud5XZ2dsq6uLg4sbW11VmfN29eKVKkiE4ZV1fXLNvQrrO2ts7y2KmpqZKamqr8npKS8p7PhoiIiIiMhdG2ABvSxIkTxcrKSvlxcnIydJWIiIiISE+MNgDb29uLiEh8fLzO8vj4eGWdvb29JCQk6Kx/9uyZ3Lt3T6dMdtvI/BgvioiIkOTkZOXn+vXr7/+EiIiIiMgoGG0AdnV1FXt7e4mKilKWpaSkyOHDh8XPz09ERPz8/CQpKUmOHz+ulNm1a5dkZGSIj4+PUmbv3r3y9OlTpcyOHTukbNmy2XZ/EBExMzMTS0tLnR8iIiIi+m8waAB+8OCBnDhxQk6cOCEizwe+nThxQmJjY0Wj0Uj//v1lwoQJ8vvvv8upU6ekc+fO4uDgoMwUUa5cOWnUqJH06NFDjhw5IgcOHJC+fftK+/btxcHBQUREPvvsMzE1NZXQ0FA5c+aMrFy5UmbMmCEDBw400LMmIiIiIkMy6CC4Y8eOSf369ZXftaE0JCRElixZIkOGDJGHDx9Kz549JSkpSWrXri1bt26V/PnzK3+zbNky6du3rzRo0EDy5MkjrVu3lu+++05Zb2VlJdu3b5ewsDDx9vaWYsWKyahRo3TmCiYiIiIi9TCaeYCNGecBJiIiIjJu/4l5gImIiIiIcgIDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqQoDMBERERGpCgMwEREREakKAzARERERqUpeQ1eADMNl2Ca9b/PqpGC9b5OIiIhI39gCTERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKrCAExEREREqsIATERERESqwgBMRERERKqS19AVIHoZl2Gb9L7Nq5OC9b5NIiIi+rCwBZiIiIiIVIUBmIiIiIhUhQGYiIiIiFSFAZiIiIiIVIUBmIiIiIhUhQGYiIiIiFSFAZiI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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create DataFrame\n", "df = pd.DataFrame(filtered_pages_df)\n", "\n", "# Count the 'domain_label' occurrences\n", "domain_label_counts = df['domain_label'].value_counts(dropna=False)\n", "\n", "# Plot the histogram\n", "plt.figure(figsize=(8, 6))\n", "domain_label_counts.plot(kind='bar')\n", "plt.xlabel('Domain Label')\n", "plt.ylabel('Count')\n", "plt.title('Histogram of Domain Label Counts')\n", "plt.xticks(rotation=45)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.13" } }, "nbformat": 4, "nbformat_minor": 5 }