diff --git a/.github/workflows/notebooks.yml b/.github/workflows/notebooks.yml new file mode 100644 index 00000000..f5f5eb48 --- /dev/null +++ b/.github/workflows/notebooks.yml @@ -0,0 +1,38 @@ +name: Release + +on: + - push + - pull_request + +jobs: + notebooks: + name: Notebooks + runs-on: ubuntu-latest + steps: + - name: Check out the repository + uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Upgrade pip + run: | + pip install --constraint=.github/workflows/constraints.txt pip + pip --version + + - name: Install Poetry + run: | + pip install --constraint=.github/workflows/constraints.txt poetry + poetry --version + + - name: Install dependencies for notebooks + run: | + poetry install --with dev + + - name: Run notebooks tests + run: | + poetry run pytest --nbmake notebooks/*.ipynb diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 0418de7b..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Datasource local storage ignored files -/../../../../../../../:\Users\me\Documents\GitHub\bolster\.idea/dataSources/ -/dataSources.local.xml -# Editor-based HTTP Client requests -/httpRequests/ diff --git a/.idea/aws.xml b/.idea/aws.xml deleted file mode 100644 index 0ebdfb17..00000000 --- a/.idea/aws.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/README.rst b/README.rst index bee8b9c0..9d2cfe69 100644 --- a/README.rst +++ b/README.rst @@ -45,6 +45,12 @@ Data Sources * `NI Water Quality Data: `_ +Notes +----- + +* Update Notebooks: `poetry run pytest --nbmake --overwrite notebooks/*.ipynb` + + Credits ------- diff --git a/docs/CNAME b/docs/CNAME index b46b0da5..bb6ccfb2 100644 --- a/docs/CNAME +++ b/docs/CNAME @@ -1 +1 @@ -bolster.help \ No newline at end of file +bolster.help diff --git a/notebooks/test_niwater.ipynb b/notebooks/test_niwater.ipynb index 67cb7e32..303d4446 100644 --- a/notebooks/test_niwater.ipynb +++ b/notebooks/test_niwater.ipynb @@ -14,9 +14,16 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "a1b1a941-136c-43f8-a638-dbdc94e63af4", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:24:59.753508Z", + "iopub.status.busy": "2024-04-13T11:24:59.753075Z", + "iopub.status.idle": "2024-04-13T11:25:00.248488Z", + "shell.execute_reply": "2024-04-13T11:25:00.248229Z" + } + }, "outputs": [], "source": [ "from bolster.data_sources import ni_water" @@ -24,9 +31,16 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "da939a96", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:00.250046Z", + "iopub.status.busy": "2024-04-13T11:25:00.249925Z", + "iopub.status.idle": "2024-04-13T11:25:16.532700Z", + "shell.execute_reply": "2024-04-13T11:25:16.530819Z" + } + }, "outputs": [ { "name": "stderr", @@ -42,9 +56,16 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "30cb42e5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:16.540624Z", + "iopub.status.busy": "2024-04-13T11:25:16.540333Z", + "iopub.status.idle": "2024-04-13T11:25:16.561869Z", + "shell.execute_reply": "2024-04-13T11:25:16.561545Z" + } + }, "outputs": [ { "data": { @@ -96,62 +117,48 @@ " 1 - 2\n", " \n", " \n", - " ZS0502\n", - " Poleglass Dunmurry\n", - " 61.1\n", - " 8.4\n", - " 3.9\n", - " 47.4\n", - " 153.6\n", - " 10.8\n", - " 15.4\n", - " 8.6\n", - " Moderately Hard\n", - " 1 - 2\n", + " ZN0702\n", + " Glenhordial Omagh\n", + " 26.3\n", + " 1.8\n", + " 0.9\n", + " 23.3\n", + " 65.8\n", + " 4.6\n", + " 6.6\n", + " 3.7\n", + " Moderately Soft\n", + " 0 - 1\n", " \n", " \n", - " ZS0503\n", - " Forked Bridge Stoneyford\n", - " 61.9\n", - " 8.4\n", - " 4.0\n", - " 48.0\n", - " 155.0\n", - " 10.9\n", - " 15.5\n", - " 8.7\n", + " ZN0804\n", + " Killyhevlin East\n", + " 60.6\n", + " 3.9\n", + " 2.7\n", + " 54.3\n", + " 151.8\n", + " 10.6\n", + " 15.2\n", + " 8.5\n", " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0105\n", - " Belfast Breda South\n", - " 52.3\n", - " 7.2\n", - " 3.2\n", - " 40.2\n", - " 130.6\n", - " 9.1\n", - " 13.1\n", - " 7.3\n", - " Slightly Hard\n", + " ZS0111\n", + " Dunore Point Hydepark\n", + " 60.8\n", + " 8.6\n", + " 3.7\n", + " 46.6\n", + " 152.5\n", + " 10.7\n", + " 15.2\n", + " 8.5\n", + " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0202\n", - " Altnahinch Bushmills\n", - " 38.5\n", - " 4.5\n", - " 0.7\n", - " 31.0\n", - " 96.3\n", - " 6.7\n", - " 9.6\n", - " 5.4\n", - " Moderately Soft\n", - " 0 - 1\n", - " \n", - " \n", " ZS0814\n", " Castor Bay Moira\n", " 62.1\n", @@ -166,13 +173,55 @@ " 1 - 2\n", " \n", " \n", - " ZS0405\n", - " Drumaroad Ards West\n", + " ZN0801\n", + " Belleek Garrison\n", + " 37.4\n", + " 3.3\n", + " 2.8\n", + " 32.3\n", + " 94.2\n", + " 6.6\n", + " 9.4\n", + " 5.3\n", + " Moderately Soft\n", + " 0 - 1\n", + " \n", + " \n", + " ZS0103\n", + " Belfast Ballyhanwood\n", + " 17.4\n", + " 1.8\n", + " 0.9\n", + " 14.4\n", + " 43.4\n", + " 3.0\n", + " 4.3\n", + " 2.4\n", + " Soft\n", + " 0\n", + " \n", + " \n", + " ZS0101\n", + " Dunore Ballygomartin North\n", + " 60.8\n", + " 8.7\n", + " 3.8\n", + " 46.3\n", + " 152.0\n", + " 10.6\n", + " 15.2\n", + " 8.5\n", + " Moderately Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZS0601\n", + " Drumaroad Ballynahinch\n", " 9.5\n", " 0.6\n", " 0.4\n", - " 8.6\n", - " 24.1\n", + " 8.5\n", + " 23.8\n", " 1.7\n", " 2.4\n", " 1.3\n", @@ -180,202 +229,90 @@ " 0\n", " \n", " \n", - " ZS0810\n", - " Castor Bay Tandragee\n", - " 55.5\n", - " 7.5\n", - " 3.6\n", - " 43.1\n", - " 138.9\n", - " 9.7\n", - " 13.9\n", - " 7.8\n", - " Slightly Hard\n", + " ZS0502\n", + " Poleglass Dunmurry\n", + " 61.1\n", + " 8.4\n", + " 3.9\n", + " 47.4\n", + " 153.6\n", + " 10.8\n", + " 15.4\n", + " 8.6\n", + " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0102\n", - " Dunore Ballygomartin South\n", - " 60.1\n", - " 8.5\n", + " ZN0803\n", + " Killyhevlin West\n", + " 62.8\n", " 3.8\n", - " 46.3\n", - " 151.2\n", - " 10.6\n", - " 15.1\n", - " 8.5\n", + " 2.9\n", + " 56.6\n", + " 157.4\n", + " 11.0\n", + " 15.7\n", + " 8.8\n", " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0607\n", - " Corrody Derry\n", - " 37.8\n", - " 3.3\n", - " 1.3\n", - " 32.5\n", - " 95.0\n", - " 6.7\n", - " 9.5\n", - " 5.3\n", - " Moderately Soft\n", - " 0 - 1\n", + " ZS0108\n", + " Belfast Purdysburn\n", + " 17.0\n", + " 1.7\n", + " 1.0\n", + " 14.1\n", + " 42.4\n", + " 3.0\n", + " 4.2\n", + " 2.4\n", + " Soft\n", + " 0\n", " \n", " \n", - " ZS0809\n", - " Castor Bay Dungannon\n", - " 55.5\n", - " 7.7\n", - " 3.4\n", - " 42.9\n", - " 139.1\n", - " 9.7\n", - " 13.9\n", - " 7.8\n", + " ZN0102\n", + " Ballinrees North\n", + " 48.0\n", + " 8.4\n", + " 2.2\n", + " 34.0\n", + " 120.0\n", + " 8.4\n", + " 12.0\n", + " 6.7\n", " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0901\n", - " Castor Bay Newry West\n", - " 61.6\n", - " 8.3\n", - " 4.0\n", - " 48.0\n", - " 154.5\n", - " 10.8\n", - " 15.5\n", - " 8.7\n", - " Moderately Hard\n", + " ZS0109\n", + " Dorisland Whiteabbey\n", + " 54.8\n", + " 10.2\n", + " 1.5\n", + " 37.9\n", + " 137.0\n", + " 9.6\n", + " 13.7\n", + " 7.7\n", + " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0402\n", - " Killylane Ballynure\n", - " 32.5\n", - " 5.1\n", - " 0.3\n", - " 24.1\n", - " 81.4\n", - " 5.7\n", - " 8.1\n", - " 4.6\n", - " Moderately Soft\n", - " 0 - 1\n", - " \n", - " \n", - " ZN1102\n", - " Seagahan Armagh\n", - " 41.9\n", - " 7.2\n", - " 4.7\n", - " 29.9\n", - " 104.6\n", - " 7.3\n", - " 10.5\n", - " 5.9\n", - " Slightly Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZS0106\n", - " Dunore Belfast North\n", - " 61.3\n", - " 8.7\n", - " 3.8\n", - " 46.8\n", - " 153.1\n", - " 10.7\n", - " 15.3\n", - " 8.6\n", - " Moderately Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZS0109\n", - " Dorisland Whiteabbey\n", - " 54.8\n", - " 10.2\n", - " 1.5\n", - " 37.9\n", - " 137.0\n", - " 9.6\n", - " 13.7\n", - " 7.7\n", - " Slightly Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZS0811\n", - " Castor Bay Portadown\n", - " 61.5\n", - " 8.6\n", - " 3.9\n", - " 47.3\n", - " 153.9\n", - " 10.8\n", - " 15.4\n", - " 8.6\n", - " Moderately Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZN0102\n", - " Ballinrees North\n", - " 48.0\n", - " 8.4\n", - " 2.2\n", - " 34.0\n", - " 120.0\n", + " ZN0401\n", + " Dunore Point Antrim\n", + " 59.0\n", " 8.4\n", - " 12.0\n", - " 6.7\n", + " 3.5\n", + " 45.0\n", + " 147.5\n", + " 10.3\n", + " 14.8\n", + " 8.3\n", " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0602\n", - " Drumaroad Downpatrick\n", - " 9.7\n", - " 0.6\n", - " 0.4\n", - " 8.6\n", - " 24.0\n", - " 1.7\n", - " 2.4\n", - " 1.3\n", - " Soft\n", - " 0\n", - " \n", - " \n", - " ZN0501\n", - " Moyola Magherafelt\n", - " 60.8\n", - " 8.2\n", - " 3.6\n", - " 47.0\n", - " 151.7\n", - " 10.6\n", - " 15.2\n", - " 8.5\n", - " Moderately Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZS0812\n", - " Castor Bay Craigavon East\n", - " 61.3\n", - " 8.6\n", - " 3.9\n", - " 47.1\n", - " 153.7\n", - " 10.8\n", - " 15.4\n", - " 8.6\n", - " Moderately Hard\n", - " 1 - 2\n", - " \n", - " \n", " ZS0408\n", " Drumaroad Bangor East\n", " 11.9\n", @@ -390,18 +327,46 @@ " 0\n", " \n", " \n", - " ZS1001\n", - " Carran Hill Crossmaglen\n", - " 41.9\n", - " 3.8\n", - " 4.3\n", - " 35.6\n", - " 104.7\n", - " 7.3\n", - " 10.5\n", - " 5.9\n", - " Slightly Hard\n", - " 1 - 2\n", + " ZN0402\n", + " Killylane Ballynure\n", + " 32.5\n", + " 5.1\n", + " 0.3\n", + " 24.1\n", + " 81.4\n", + " 5.7\n", + " 8.1\n", + " 4.6\n", + " Moderately Soft\n", + " 0 - 1\n", + " \n", + " \n", + " ZS0904\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " NaN\n", + " \n", + " \n", + " ZN0607\n", + " Corrody Derry\n", + " 37.8\n", + " 3.3\n", + " 1.3\n", + " 32.5\n", + " 95.0\n", + " 6.7\n", + " 9.5\n", + " 5.3\n", + " Moderately Soft\n", + " 0 - 1\n", " \n", " \n", " ZS0501\n", @@ -432,6 +397,34 @@ " 0 - 1\n", " \n", " \n", + " ZN0701\n", + " Derg Strabane\n", + " 37.1\n", + " 2.7\n", + " 1.7\n", + " 32.8\n", + " 92.9\n", + " 6.5\n", + " 9.3\n", + " 5.2\n", + " Moderately Soft\n", + " 0 - 1\n", + " \n", + " \n", + " ZS0811\n", + " Castor Bay Portadown\n", + " 61.5\n", + " 8.6\n", + " 3.9\n", + " 47.3\n", + " 153.9\n", + " 10.8\n", + " 15.4\n", + " 8.6\n", + " Moderately Hard\n", + " 1 - 2\n", + " \n", + " \n", " ZN0603\n", " Carmoney Eglinton\n", " 41.4\n", @@ -446,41 +439,27 @@ " 1 - 2\n", " \n", " \n", - " ZN0601\n", - " Ballinrees Limavady\n", - " 40.1\n", - " 3.7\n", - " 1.0\n", - " 34.1\n", - " 100.6\n", - " 7.0\n", - " 10.1\n", - " 5.6\n", - " Slightly Hard\n", + " ZS0106\n", + " Dunore Belfast North\n", + " 61.3\n", + " 8.7\n", + " 3.8\n", + " 46.8\n", + " 153.1\n", + " 10.7\n", + " 15.3\n", + " 8.6\n", + " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0902\n", - " Fofanny Dromore\n", - " 12.0\n", - " 1.1\n", - " 0.8\n", - " 10.2\n", - " 29.9\n", - " 2.1\n", - " 3.0\n", - " 1.7\n", - " Soft\n", - " 0\n", - " \n", - " \n", - " ZS0601\n", - " Drumaroad Ballynahinch\n", - " 9.5\n", + " ZS0602\n", + " Drumaroad Downpatrick\n", + " 9.7\n", " 0.6\n", " 0.4\n", - " 8.5\n", - " 23.8\n", + " 8.6\n", + " 24.0\n", " 1.7\n", " 2.4\n", " 1.3\n", @@ -488,20 +467,132 @@ " 0\n", " \n", " \n", - " ZN0701\n", - " Derg Strabane\n", - " 37.1\n", - " 2.7\n", - " 1.7\n", - " 32.8\n", - " 92.9\n", - " 6.5\n", - " 9.3\n", - " 5.2\n", + " ZN0705\n", + " Lough Macrory Beragh\n", + " 19.8\n", + " 2.0\n", + " 0.5\n", + " 16.8\n", + " 50.2\n", + " 3.5\n", + " 5.0\n", + " 2.8\n", " Moderately Soft\n", " 0 - 1\n", " \n", " \n", + " ZN0504\n", + " Moyola Unagh Mormeal\n", + " 45.8\n", + " 5.6\n", + " 2.3\n", + " 36.5\n", + " 114.4\n", + " 8.0\n", + " 11.4\n", + " 6.4\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZN1102\n", + " Seagahan Armagh\n", + " 41.9\n", + " 7.2\n", + " 4.7\n", + " 29.9\n", + " 104.6\n", + " 7.3\n", + " 10.5\n", + " 5.9\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZS0102\n", + " Dunore Ballygomartin South\n", + " 60.1\n", + " 8.5\n", + " 3.8\n", + " 46.3\n", + " 151.2\n", + " 10.6\n", + " 15.1\n", + " 8.5\n", + " Moderately Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZS0201\n", + " Dorisland Carrick\n", + " 54.4\n", + " 10.6\n", + " 0.7\n", + " 36.8\n", + " 136.0\n", + " 9.5\n", + " 13.6\n", + " 7.6\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZN0103\n", + " Ballinrees South\n", + " 48.4\n", + " 8.4\n", + " 2.2\n", + " 34.6\n", + " 121.3\n", + " 8.5\n", + " 12.1\n", + " 6.8\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZS0107\n", + " Belfast Oldpark\n", + " 59.0\n", + " 9.1\n", + " 3.1\n", + " 44.0\n", + " 148.0\n", + " 10.4\n", + " 14.8\n", + " 8.3\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZS0503\n", + " Forked Bridge Stoneyford\n", + " 61.9\n", + " 8.4\n", + " 4.0\n", + " 48.0\n", + " 155.0\n", + " 10.9\n", + " 15.5\n", + " 8.7\n", + " Moderately Hard\n", + " 1 - 2\n", + " \n", + " \n", + " ZN0601\n", + " Ballinrees Limavady\n", + " 40.1\n", + " 3.7\n", + " 1.0\n", + " 34.1\n", + " 100.6\n", + " 7.0\n", + " 10.1\n", + " 5.6\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", + " \n", " ZS0407\n", " Drumaroad Bangor West\n", " 9.3\n", @@ -516,30 +607,30 @@ " 0\n", " \n", " \n", - " ZN0303\n", - " Dunore Point Ballymena\n", - " 60.3\n", - " 8.6\n", - " 3.7\n", - " 46.0\n", - " 150.7\n", - " 10.5\n", - " 15.1\n", - " 8.4\n", - " Moderately Hard\n", + " ZS0809\n", + " Castor Bay Dungannon\n", + " 55.5\n", + " 7.7\n", + " 3.4\n", + " 42.9\n", + " 139.1\n", + " 9.7\n", + " 13.9\n", + " 7.8\n", + " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0502\n", - " Lough Fea Cookstown\n", - " 20.5\n", - " 1.9\n", + " ZN0604\n", + " Caugh Hill Dungiven\n", + " 31.5\n", + " 1.5\n", " 0.5\n", - " 17.3\n", - " 51.0\n", - " 3.6\n", - " 5.1\n", - " 2.9\n", + " 29.4\n", + " 79.6\n", + " 5.6\n", + " 8.0\n", + " 4.5\n", " Moderately Soft\n", " 0 - 1\n", " \n", @@ -558,62 +649,20 @@ " 0\n", " \n", " \n", - " ZS0104\n", - " Belfast Breda North\n", - " 46.4\n", - " 6.4\n", - " 2.8\n", - " 35.9\n", - " 116.3\n", - " 8.1\n", - " 11.6\n", - " 6.5\n", + " ZS0105\n", + " Belfast Breda South\n", + " 52.3\n", + " 7.2\n", + " 3.2\n", + " 40.2\n", + " 130.6\n", + " 9.1\n", + " 13.1\n", + " 7.3\n", " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0108\n", - " Belfast Purdysburn\n", - " 17.0\n", - " 1.7\n", - " 1.0\n", - " 14.1\n", - " 42.4\n", - " 3.0\n", - " 4.2\n", - " 2.4\n", - " Soft\n", - " 0\n", - " \n", - " \n", - " ZN0702\n", - " Glenhordial Omagh\n", - " 26.3\n", - " 1.8\n", - " 0.9\n", - " 23.3\n", - " 65.8\n", - " 4.6\n", - " 6.6\n", - " 3.7\n", - " Moderately Soft\n", - " 0 - 1\n", - " \n", - " \n", - " ZS0406\n", - " Drumaroad Portaferry\n", - " 9.7\n", - " 0.6\n", - " 0.4\n", - " 8.7\n", - " 24.3\n", - " 1.7\n", - " 2.4\n", - " 1.4\n", - " Soft\n", - " 0\n", - " \n", - " \n", " ZN0302\n", " Dungonnell Glarryford\n", " 28.8\n", @@ -628,31 +677,17 @@ " 0 - 1\n", " \n", " \n", - " ZS0107\n", - " Belfast Oldpark\n", - " 59.0\n", - " 9.1\n", - " 3.1\n", - " 44.0\n", - " 148.0\n", - " 10.4\n", - " 14.8\n", - " 8.3\n", - " Slightly Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZN0504\n", - " Moyola Unagh Mormeal\n", - " 45.8\n", - " 5.6\n", - " 2.3\n", - " 36.5\n", - " 114.4\n", - " 8.0\n", - " 11.4\n", - " 6.4\n", - " Slightly Hard\n", + " ZN0501\n", + " Moyola Magherafelt\n", + " 60.8\n", + " 8.2\n", + " 3.6\n", + " 47.0\n", + " 151.7\n", + " 10.6\n", + " 15.2\n", + " 8.5\n", + " Moderately Hard\n", " 1 - 2\n", " \n", " \n", @@ -670,86 +705,72 @@ " 0 - 1\n", " \n", " \n", - " ZS0101\n", - " Dunore Ballygomartin North\n", - " 60.8\n", - " 8.7\n", - " 3.8\n", - " 46.3\n", - " 152.0\n", - " 10.6\n", - " 15.2\n", - " 8.5\n", + " ZS0812\n", + " Castor Bay Craigavon East\n", + " 61.3\n", + " 8.6\n", + " 3.9\n", + " 47.1\n", + " 153.7\n", + " 10.8\n", + " 15.4\n", + " 8.6\n", " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0801\n", - " Belleek Garrison\n", - " 37.4\n", - " 3.3\n", - " 2.8\n", - " 32.3\n", - " 94.2\n", - " 6.6\n", - " 9.4\n", - " 5.3\n", - " Moderately Soft\n", - " 0 - 1\n", - " \n", - " \n", - " ZS0111\n", - " Dunore Point Hydepark\n", - " 60.8\n", - " 8.6\n", - " 3.7\n", - " 46.6\n", - " 152.5\n", - " 10.7\n", - " 15.2\n", - " 8.5\n", + " ZS0901\n", + " Castor Bay Newry West\n", + " 61.6\n", + " 8.3\n", + " 4.0\n", + " 48.0\n", + " 154.5\n", + " 10.8\n", + " 15.5\n", + " 8.7\n", " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0803\n", - " Killyhevlin West\n", - " 62.8\n", - " 3.8\n", - " 2.9\n", - " 56.6\n", - " 157.4\n", - " 11.0\n", - " 15.7\n", - " 8.8\n", + " ZN0303\n", + " Dunore Point Ballymena\n", + " 60.3\n", + " 8.6\n", + " 3.7\n", + " 46.0\n", + " 150.7\n", + " 10.5\n", + " 15.1\n", + " 8.4\n", " Moderately Hard\n", " 1 - 2\n", " \n", " \n", - " ZN0705\n", - " Lough Macrory Beragh\n", - " 19.8\n", - " 2.0\n", - " 0.5\n", - " 16.8\n", - " 50.2\n", - " 3.5\n", - " 5.0\n", - " 2.8\n", - " Moderately Soft\n", - " 0 - 1\n", + " ZS0406\n", + " Drumaroad Portaferry\n", + " 9.7\n", + " 0.6\n", + " 0.4\n", + " 8.7\n", + " 24.3\n", + " 1.7\n", + " 2.4\n", + " 1.4\n", + " Soft\n", + " 0\n", " \n", " \n", - " ZS0103\n", - " Belfast Ballyhanwood\n", - " 17.4\n", - " 1.8\n", - " 0.9\n", - " 14.4\n", - " 43.4\n", - " 3.0\n", - " 4.3\n", + " ZS0405\n", + " Drumaroad Ards West\n", + " 9.5\n", + " 0.6\n", + " 0.4\n", + " 8.6\n", + " 24.1\n", + " 1.7\n", " 2.4\n", + " 1.3\n", " Soft\n", " 0\n", " \n", @@ -768,89 +789,89 @@ " 0 - 1\n", " \n", " \n", - " ZN0401\n", - " Dunore Point Antrim\n", - " 59.0\n", - " 8.4\n", - " 3.5\n", - " 45.0\n", - " 147.5\n", - " 10.3\n", - " 14.8\n", - " 8.3\n", + " ZS0104\n", + " Belfast Breda North\n", + " 46.4\n", + " 6.4\n", + " 2.8\n", + " 35.9\n", + " 116.3\n", + " 8.1\n", + " 11.6\n", + " 6.5\n", " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0201\n", - " Dorisland Carrick\n", - " 54.4\n", - " 10.6\n", + " ZN0202\n", + " Altnahinch Bushmills\n", + " 38.5\n", + " 4.5\n", " 0.7\n", - " 36.8\n", - " 136.0\n", - " 9.5\n", - " 13.6\n", - " 7.6\n", - " Slightly Hard\n", - " 1 - 2\n", - " \n", - " \n", - " ZN0804\n", - " Killyhevlin East\n", - " 60.6\n", - " 3.9\n", - " 2.7\n", - " 54.3\n", - " 151.8\n", - " 10.6\n", - " 15.2\n", - " 8.5\n", - " Moderately Hard\n", - " 1 - 2\n", + " 31.0\n", + " 96.3\n", + " 6.7\n", + " 9.6\n", + " 5.4\n", + " Moderately Soft\n", + " 0 - 1\n", " \n", " \n", - " ZN0103\n", - " Ballinrees South\n", - " 48.4\n", - " 8.4\n", - " 2.2\n", - " 34.6\n", - " 121.3\n", - " 8.5\n", - " 12.1\n", - " 6.8\n", + " ZS1001\n", + " Carran Hill Crossmaglen\n", + " 41.9\n", + " 3.8\n", + " 4.3\n", + " 35.6\n", + " 104.7\n", + " 7.3\n", + " 10.5\n", + " 5.9\n", " Slightly Hard\n", " 1 - 2\n", " \n", " \n", - " ZS0904\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", + " ZS0902\n", + " Fofanny Dromore\n", + " 12.0\n", + " 1.1\n", + " 0.8\n", + " 10.2\n", + " 29.9\n", + " 2.1\n", + " 3.0\n", + " 1.7\n", + " Soft\n", + " 0\n", " \n", " \n", - " ZN0604\n", - " Caugh Hill Dungiven\n", - " 31.5\n", - " 1.5\n", + " ZN0502\n", + " Lough Fea Cookstown\n", + " 20.5\n", + " 1.9\n", " 0.5\n", - " 29.4\n", - " 79.6\n", - " 5.6\n", - " 8.0\n", - " 4.5\n", + " 17.3\n", + " 51.0\n", + " 3.6\n", + " 5.1\n", + " 2.9\n", " Moderately Soft\n", " 0 - 1\n", " \n", + " \n", + " ZS0810\n", + " Castor Bay Tandragee\n", + " 55.5\n", + " 7.5\n", + " 3.6\n", + " 43.1\n", + " 138.9\n", + " 9.7\n", + " 13.9\n", + " 7.8\n", + " Slightly Hard\n", + " 1 - 2\n", + " \n", " \n", "\n", "" @@ -858,234 +879,234 @@ "text/plain": [ " Water Supply Zone Total Hardness (mg/l) Magnesium (mg/l) \\\n", "ZS1002 Carran Hill Camly 48.5 5.5 \n", - "ZS0502 Poleglass Dunmurry 61.1 8.4 \n", - "ZS0503 Forked Bridge Stoneyford 61.9 8.4 \n", - "ZS0105 Belfast Breda South 52.3 7.2 \n", - "ZN0202 Altnahinch Bushmills 38.5 4.5 \n", + "ZN0702 Glenhordial Omagh 26.3 1.8 \n", + "ZN0804 Killyhevlin East 60.6 3.9 \n", + "ZS0111 Dunore Point Hydepark 60.8 8.6 \n", "ZS0814 Castor Bay Moira 62.1 8.4 \n", - "ZS0405 Drumaroad Ards West 9.5 0.6 \n", - "ZS0810 Castor Bay Tandragee 55.5 7.5 \n", - "ZS0102 Dunore Ballygomartin South 60.1 8.5 \n", - "ZN0607 Corrody Derry 37.8 3.3 \n", - "ZS0809 Castor Bay Dungannon 55.5 7.7 \n", - "ZS0901 Castor Bay Newry West 61.6 8.3 \n", - "ZN0402 Killylane Ballynure 32.5 5.1 \n", - "ZN1102 Seagahan Armagh 41.9 7.2 \n", - "ZS0106 Dunore Belfast North 61.3 8.7 \n", - "ZS0109 Dorisland Whiteabbey 54.8 10.2 \n", - "ZS0811 Castor Bay Portadown 61.5 8.6 \n", + "ZN0801 Belleek Garrison 37.4 3.3 \n", + "ZS0103 Belfast Ballyhanwood 17.4 1.8 \n", + "ZS0101 Dunore Ballygomartin North 60.8 8.7 \n", + "ZS0601 Drumaroad Ballynahinch 9.5 0.6 \n", + "ZS0502 Poleglass Dunmurry 61.1 8.4 \n", + "ZN0803 Killyhevlin West 62.8 3.8 \n", + "ZS0108 Belfast Purdysburn 17.0 1.7 \n", "ZN0102 Ballinrees North 48.0 8.4 \n", - "ZS0602 Drumaroad Downpatrick 9.7 0.6 \n", - "ZN0501 Moyola Magherafelt 60.8 8.2 \n", - "ZS0812 Castor Bay Craigavon East 61.3 8.6 \n", + "ZS0109 Dorisland Whiteabbey 54.8 10.2 \n", + "ZN0401 Dunore Point Antrim 59.0 8.4 \n", "ZS0408 Drumaroad Bangor East 11.9 1.2 \n", - "ZS1001 Carran Hill Crossmaglen 41.9 3.8 \n", + "ZN0402 Killylane Ballynure 32.5 5.1 \n", + "ZS0904 NaN NaN NaN \n", + "ZN0607 Corrody Derry 37.8 3.3 \n", "ZS0501 Drumaroad Lisburn 16.1 1.6 \n", "ZN1101 Clay Lake Keady 36.9 3.6 \n", + "ZN0701 Derg Strabane 37.1 2.7 \n", + "ZS0811 Castor Bay Portadown 61.5 8.6 \n", "ZN0603 Carmoney Eglinton 41.4 3.7 \n", + "ZS0106 Dunore Belfast North 61.3 8.7 \n", + "ZS0602 Drumaroad Downpatrick 9.7 0.6 \n", + "ZN0705 Lough Macrory Beragh 19.8 2.0 \n", + "ZN0504 Moyola Unagh Mormeal 45.8 5.6 \n", + "ZN1102 Seagahan Armagh 41.9 7.2 \n", + "ZS0102 Dunore Ballygomartin South 60.1 8.5 \n", + "ZS0201 Dorisland Carrick 54.4 10.6 \n", + "ZN0103 Ballinrees South 48.4 8.4 \n", + "ZS0107 Belfast Oldpark 59.0 9.1 \n", + "ZS0503 Forked Bridge Stoneyford 61.9 8.4 \n", "ZN0601 Ballinrees Limavady 40.1 3.7 \n", - "ZS0902 Fofanny Dromore 12.0 1.1 \n", - "ZS0601 Drumaroad Ballynahinch 9.5 0.6 \n", - "ZN0701 Derg Strabane 37.1 2.7 \n", "ZS0407 Drumaroad Bangor West 9.3 0.6 \n", - "ZN0303 Dunore Point Ballymena 60.3 8.6 \n", - "ZN0502 Lough Fea Cookstown 20.5 1.9 \n", + "ZS0809 Castor Bay Dungannon 55.5 7.7 \n", + "ZN0604 Caugh Hill Dungiven 31.5 1.5 \n", "ZN0204 Rathlin Island 13.0 1.3 \n", - "ZS0104 Belfast Breda North 46.4 6.4 \n", - "ZS0108 Belfast Purdysburn 17.0 1.7 \n", - "ZN0702 Glenhordial Omagh 26.3 1.8 \n", - "ZS0406 Drumaroad Portaferry 9.7 0.6 \n", + "ZS0105 Belfast Breda South 52.3 7.2 \n", "ZN0302 Dungonnell Glarryford 28.8 2.6 \n", - "ZS0107 Belfast Oldpark 59.0 9.1 \n", - "ZN0504 Moyola Unagh Mormeal 45.8 5.6 \n", + "ZN0501 Moyola Magherafelt 60.8 8.2 \n", "ZN0706 Lough Macrory Killyclogher 22.3 1.9 \n", - "ZS0101 Dunore Ballygomartin North 60.8 8.7 \n", - "ZN0801 Belleek Garrison 37.4 3.3 \n", - "ZS0111 Dunore Point Hydepark 60.8 8.6 \n", - "ZN0803 Killyhevlin West 62.8 3.8 \n", - "ZN0705 Lough Macrory Beragh 19.8 2.0 \n", - "ZS0103 Belfast Ballyhanwood 17.4 1.8 \n", + "ZS0812 Castor Bay Craigavon East 61.3 8.6 \n", + "ZS0901 Castor Bay Newry West 61.6 8.3 \n", + "ZN0303 Dunore Point Ballymena 60.3 8.6 \n", + "ZS0406 Drumaroad Portaferry 9.7 0.6 \n", + "ZS0405 Drumaroad Ards West 9.5 0.6 \n", "ZN0704 Lough Bradan Drumquin 20.5 2.0 \n", - "ZN0401 Dunore Point Antrim 59.0 8.4 \n", - "ZS0201 Dorisland Carrick 54.4 10.6 \n", - "ZN0804 Killyhevlin East 60.6 3.9 \n", - "ZN0103 Ballinrees South 48.4 8.4 \n", - "ZS0904 NaN NaN NaN \n", - "ZN0604 Caugh Hill Dungiven 31.5 1.5 \n", + "ZS0104 Belfast Breda North 46.4 6.4 \n", + "ZN0202 Altnahinch Bushmills 38.5 4.5 \n", + "ZS1001 Carran Hill Crossmaglen 41.9 3.8 \n", + "ZS0902 Fofanny Dromore 12.0 1.1 \n", + "ZN0502 Lough Fea Cookstown 20.5 1.9 \n", + "ZS0810 Castor Bay Tandragee 55.5 7.5 \n", "\n", " Potassium (mg/l) Calcium (mg/l) Total Hardness (mg CaCO3/l) \\\n", "ZS1002 4.1 39.5 121.5 \n", - "ZS0502 3.9 47.4 153.6 \n", - "ZS0503 4.0 48.0 155.0 \n", - "ZS0105 3.2 40.2 130.6 \n", - "ZN0202 0.7 31.0 96.3 \n", + "ZN0702 0.9 23.3 65.8 \n", + "ZN0804 2.7 54.3 151.8 \n", + "ZS0111 3.7 46.6 152.5 \n", "ZS0814 3.9 48.3 155.8 \n", - "ZS0405 0.4 8.6 24.1 \n", - "ZS0810 3.6 43.1 138.9 \n", - "ZS0102 3.8 46.3 151.2 \n", - "ZN0607 1.3 32.5 95.0 \n", - "ZS0809 3.4 42.9 139.1 \n", - "ZS0901 4.0 48.0 154.5 \n", - "ZN0402 0.3 24.1 81.4 \n", - "ZN1102 4.7 29.9 104.6 \n", - "ZS0106 3.8 46.8 153.1 \n", - "ZS0109 1.5 37.9 137.0 \n", - "ZS0811 3.9 47.3 153.9 \n", + "ZN0801 2.8 32.3 94.2 \n", + "ZS0103 0.9 14.4 43.4 \n", + "ZS0101 3.8 46.3 152.0 \n", + "ZS0601 0.4 8.5 23.8 \n", + "ZS0502 3.9 47.4 153.6 \n", + "ZN0803 2.9 56.6 157.4 \n", + "ZS0108 1.0 14.1 42.4 \n", "ZN0102 2.2 34.0 120.0 \n", - "ZS0602 0.4 8.6 24.0 \n", - "ZN0501 3.6 47.0 151.7 \n", - "ZS0812 3.9 47.1 153.7 \n", + "ZS0109 1.5 37.9 137.0 \n", + "ZN0401 3.5 45.0 147.5 \n", "ZS0408 0.9 9.9 29.7 \n", - "ZS1001 4.3 35.6 104.7 \n", + "ZN0402 0.3 24.1 81.4 \n", + "ZS0904 NaN NaN NaN \n", + "ZN0607 1.3 32.5 95.0 \n", "ZS0501 0.8 13.4 40.3 \n", "ZN1101 6.1 30.8 91.8 \n", + "ZN0701 1.7 32.8 92.9 \n", + "ZS0811 3.9 47.3 153.9 \n", "ZN0603 1.9 35.3 103.5 \n", + "ZS0106 3.8 46.8 153.1 \n", + "ZS0602 0.4 8.6 24.0 \n", + "ZN0705 0.5 16.8 50.2 \n", + "ZN0504 2.3 36.5 114.4 \n", + "ZN1102 4.7 29.9 104.6 \n", + "ZS0102 3.8 46.3 151.2 \n", + "ZS0201 0.7 36.8 136.0 \n", + "ZN0103 2.2 34.6 121.3 \n", + "ZS0107 3.1 44.0 148.0 \n", + "ZS0503 4.0 48.0 155.0 \n", "ZN0601 1.0 34.1 100.6 \n", - "ZS0902 0.8 10.2 29.9 \n", - "ZS0601 0.4 8.5 23.8 \n", - "ZN0701 1.7 32.8 92.9 \n", "ZS0407 0.4 8.4 23.4 \n", - "ZN0303 3.7 46.0 150.7 \n", - "ZN0502 0.5 17.3 51.0 \n", + "ZS0809 3.4 42.9 139.1 \n", + "ZN0604 0.5 29.4 79.6 \n", "ZN0204 0.5 11.0 32.7 \n", - "ZS0104 2.8 35.9 116.3 \n", - "ZS0108 1.0 14.1 42.4 \n", - "ZN0702 0.9 23.3 65.8 \n", - "ZS0406 0.4 8.7 24.3 \n", + "ZS0105 3.2 40.2 130.6 \n", "ZN0302 0.3 24.5 72.1 \n", - "ZS0107 3.1 44.0 148.0 \n", - "ZN0504 2.3 36.5 114.4 \n", + "ZN0501 3.6 47.0 151.7 \n", "ZN0706 0.7 19.1 55.9 \n", - "ZS0101 3.8 46.3 152.0 \n", - "ZN0801 2.8 32.3 94.2 \n", - "ZS0111 3.7 46.6 152.5 \n", - "ZN0803 2.9 56.6 157.4 \n", - "ZN0705 0.5 16.8 50.2 \n", - "ZS0103 0.9 14.4 43.4 \n", + "ZS0812 3.9 47.1 153.7 \n", + "ZS0901 4.0 48.0 154.5 \n", + "ZN0303 3.7 46.0 150.7 \n", + "ZS0406 0.4 8.7 24.3 \n", + "ZS0405 0.4 8.6 24.1 \n", "ZN0704 0.9 17.4 51.7 \n", - "ZN0401 3.5 45.0 147.5 \n", - "ZS0201 0.7 36.8 136.0 \n", - "ZN0804 2.7 54.3 151.8 \n", - "ZN0103 2.2 34.6 121.3 \n", - "ZS0904 NaN NaN NaN \n", - "ZN0604 0.5 29.4 79.6 \n", + "ZS0104 2.8 35.9 116.3 \n", + "ZN0202 0.7 31.0 96.3 \n", + "ZS1001 4.3 35.6 104.7 \n", + "ZS0902 0.8 10.2 29.9 \n", + "ZN0502 0.5 17.3 51.0 \n", + "ZS0810 3.6 43.1 138.9 \n", "\n", " Clark English Degrees French Degrees German Degrees \\\n", "ZS1002 8.5 12.1 6.8 \n", - "ZS0502 10.8 15.4 8.6 \n", - "ZS0503 10.9 15.5 8.7 \n", - "ZS0105 9.1 13.1 7.3 \n", - "ZN0202 6.7 9.6 5.4 \n", + "ZN0702 4.6 6.6 3.7 \n", + "ZN0804 10.6 15.2 8.5 \n", + "ZS0111 10.7 15.2 8.5 \n", "ZS0814 10.9 15.6 8.7 \n", - "ZS0405 1.7 2.4 1.3 \n", - "ZS0810 9.7 13.9 7.8 \n", - "ZS0102 10.6 15.1 8.5 \n", - "ZN0607 6.7 9.5 5.3 \n", - "ZS0809 9.7 13.9 7.8 \n", - "ZS0901 10.8 15.5 8.7 \n", - "ZN0402 5.7 8.1 4.6 \n", - "ZN1102 7.3 10.5 5.9 \n", - "ZS0106 10.7 15.3 8.6 \n", - "ZS0109 9.6 13.7 7.7 \n", - "ZS0811 10.8 15.4 8.6 \n", + "ZN0801 6.6 9.4 5.3 \n", + "ZS0103 3.0 4.3 2.4 \n", + "ZS0101 10.6 15.2 8.5 \n", + "ZS0601 1.7 2.4 1.3 \n", + "ZS0502 10.8 15.4 8.6 \n", + "ZN0803 11.0 15.7 8.8 \n", + "ZS0108 3.0 4.2 2.4 \n", "ZN0102 8.4 12.0 6.7 \n", - "ZS0602 1.7 2.4 1.3 \n", - "ZN0501 10.6 15.2 8.5 \n", - "ZS0812 10.8 15.4 8.6 \n", + "ZS0109 9.6 13.7 7.7 \n", + "ZN0401 10.3 14.8 8.3 \n", "ZS0408 2.1 3.0 1.7 \n", - "ZS1001 7.3 10.5 5.9 \n", + "ZN0402 5.7 8.1 4.6 \n", + "ZS0904 NaN NaN NaN \n", + "ZN0607 6.7 9.5 5.3 \n", "ZS0501 2.8 4.0 2.3 \n", "ZN1101 6.4 9.2 5.1 \n", + "ZN0701 6.5 9.3 5.2 \n", + "ZS0811 10.8 15.4 8.6 \n", "ZN0603 7.2 10.4 5.8 \n", + "ZS0106 10.7 15.3 8.6 \n", + "ZS0602 1.7 2.4 1.3 \n", + "ZN0705 3.5 5.0 2.8 \n", + "ZN0504 8.0 11.4 6.4 \n", + "ZN1102 7.3 10.5 5.9 \n", + "ZS0102 10.6 15.1 8.5 \n", + "ZS0201 9.5 13.6 7.6 \n", + "ZN0103 8.5 12.1 6.8 \n", + "ZS0107 10.4 14.8 8.3 \n", + "ZS0503 10.9 15.5 8.7 \n", "ZN0601 7.0 10.1 5.6 \n", - "ZS0902 2.1 3.0 1.7 \n", - "ZS0601 1.7 2.4 1.3 \n", - "ZN0701 6.5 9.3 5.2 \n", "ZS0407 1.6 2.3 1.3 \n", - "ZN0303 10.5 15.1 8.4 \n", - "ZN0502 3.6 5.1 2.9 \n", + "ZS0809 9.7 13.9 7.8 \n", + "ZN0604 5.6 8.0 4.5 \n", "ZN0204 2.3 3.3 1.8 \n", - "ZS0104 8.1 11.6 6.5 \n", - "ZS0108 3.0 4.2 2.4 \n", - "ZN0702 4.6 6.6 3.7 \n", - "ZS0406 1.7 2.4 1.4 \n", + "ZS0105 9.1 13.1 7.3 \n", "ZN0302 5.0 7.2 4.0 \n", - "ZS0107 10.4 14.8 8.3 \n", - "ZN0504 8.0 11.4 6.4 \n", + "ZN0501 10.6 15.2 8.5 \n", "ZN0706 3.9 5.6 3.1 \n", - "ZS0101 10.6 15.2 8.5 \n", - "ZN0801 6.6 9.4 5.3 \n", - "ZS0111 10.7 15.2 8.5 \n", - "ZN0803 11.0 15.7 8.8 \n", - "ZN0705 3.5 5.0 2.8 \n", - "ZS0103 3.0 4.3 2.4 \n", + "ZS0812 10.8 15.4 8.6 \n", + "ZS0901 10.8 15.5 8.7 \n", + "ZN0303 10.5 15.1 8.4 \n", + "ZS0406 1.7 2.4 1.4 \n", + "ZS0405 1.7 2.4 1.3 \n", "ZN0704 3.6 5.2 2.9 \n", - "ZN0401 10.3 14.8 8.3 \n", - "ZS0201 9.5 13.6 7.6 \n", - "ZN0804 10.6 15.2 8.5 \n", - "ZN0103 8.5 12.1 6.8 \n", - "ZS0904 NaN NaN NaN \n", - "ZN0604 5.6 8.0 4.5 \n", + "ZS0104 8.1 11.6 6.5 \n", + "ZN0202 6.7 9.6 5.4 \n", + "ZS1001 7.3 10.5 5.9 \n", + "ZS0902 2.1 3.0 1.7 \n", + "ZN0502 3.6 5.1 2.9 \n", + "ZS0810 9.7 13.9 7.8 \n", "\n", " NI Hardness Classification Dishwasher Setting \n", "ZS1002 Slightly Hard 1 - 2 \n", - "ZS0502 Moderately Hard 1 - 2 \n", - "ZS0503 Moderately Hard 1 - 2 \n", - "ZS0105 Slightly Hard 1 - 2 \n", - "ZN0202 Moderately Soft 0 - 1 \n", + "ZN0702 Moderately Soft 0 - 1 \n", + "ZN0804 Moderately Hard 1 - 2 \n", + "ZS0111 Moderately Hard 1 - 2 \n", "ZS0814 Moderately Hard 1 - 2 \n", - "ZS0405 Soft 0 \n", - "ZS0810 Slightly Hard 1 - 2 \n", - "ZS0102 Moderately Hard 1 - 2 \n", - "ZN0607 Moderately Soft 0 - 1 \n", - "ZS0809 Slightly Hard 1 - 2 \n", - "ZS0901 Moderately Hard 1 - 2 \n", - "ZN0402 Moderately Soft 0 - 1 \n", - "ZN1102 Slightly Hard 1 - 2 \n", - "ZS0106 Moderately Hard 1 - 2 \n", - "ZS0109 Slightly Hard 1 - 2 \n", - "ZS0811 Moderately Hard 1 - 2 \n", + "ZN0801 Moderately Soft 0 - 1 \n", + "ZS0103 Soft 0 \n", + "ZS0101 Moderately Hard 1 - 2 \n", + "ZS0601 Soft 0 \n", + "ZS0502 Moderately Hard 1 - 2 \n", + "ZN0803 Moderately Hard 1 - 2 \n", + "ZS0108 Soft 0 \n", "ZN0102 Slightly Hard 1 - 2 \n", - "ZS0602 Soft 0 \n", - "ZN0501 Moderately Hard 1 - 2 \n", - "ZS0812 Moderately Hard 1 - 2 \n", + "ZS0109 Slightly Hard 1 - 2 \n", + "ZN0401 Slightly Hard 1 - 2 \n", "ZS0408 Soft 0 \n", - "ZS1001 Slightly Hard 1 - 2 \n", + "ZN0402 Moderately Soft 0 - 1 \n", + "ZS0904 NaN NaN \n", + "ZN0607 Moderately Soft 0 - 1 \n", "ZS0501 Soft 0 \n", "ZN1101 Moderately Soft 0 - 1 \n", + "ZN0701 Moderately Soft 0 - 1 \n", + "ZS0811 Moderately Hard 1 - 2 \n", "ZN0603 Slightly Hard 1 - 2 \n", + "ZS0106 Moderately Hard 1 - 2 \n", + "ZS0602 Soft 0 \n", + "ZN0705 Moderately Soft 0 - 1 \n", + "ZN0504 Slightly Hard 1 - 2 \n", + "ZN1102 Slightly Hard 1 - 2 \n", + "ZS0102 Moderately Hard 1 - 2 \n", + "ZS0201 Slightly Hard 1 - 2 \n", + "ZN0103 Slightly Hard 1 - 2 \n", + "ZS0107 Slightly Hard 1 - 2 \n", + "ZS0503 Moderately Hard 1 - 2 \n", "ZN0601 Slightly Hard 1 - 2 \n", - "ZS0902 Soft 0 \n", - "ZS0601 Soft 0 \n", - "ZN0701 Moderately Soft 0 - 1 \n", "ZS0407 Soft 0 \n", - "ZN0303 Moderately Hard 1 - 2 \n", - "ZN0502 Moderately Soft 0 - 1 \n", + "ZS0809 Slightly Hard 1 - 2 \n", + "ZN0604 Moderately Soft 0 - 1 \n", "ZN0204 Soft 0 \n", - "ZS0104 Slightly Hard 1 - 2 \n", - "ZS0108 Soft 0 \n", - "ZN0702 Moderately Soft 0 - 1 \n", - "ZS0406 Soft 0 \n", + "ZS0105 Slightly Hard 1 - 2 \n", "ZN0302 Moderately Soft 0 - 1 \n", - "ZS0107 Slightly Hard 1 - 2 \n", - "ZN0504 Slightly Hard 1 - 2 \n", + "ZN0501 Moderately Hard 1 - 2 \n", "ZN0706 Moderately Soft 0 - 1 \n", - "ZS0101 Moderately Hard 1 - 2 \n", - "ZN0801 Moderately Soft 0 - 1 \n", - "ZS0111 Moderately Hard 1 - 2 \n", - "ZN0803 Moderately Hard 1 - 2 \n", - "ZN0705 Moderately Soft 0 - 1 \n", - "ZS0103 Soft 0 \n", + "ZS0812 Moderately Hard 1 - 2 \n", + "ZS0901 Moderately Hard 1 - 2 \n", + "ZN0303 Moderately Hard 1 - 2 \n", + "ZS0406 Soft 0 \n", + "ZS0405 Soft 0 \n", "ZN0704 Moderately Soft 0 - 1 \n", - "ZN0401 Slightly Hard 1 - 2 \n", - "ZS0201 Slightly Hard 1 - 2 \n", - "ZN0804 Moderately Hard 1 - 2 \n", - "ZN0103 Slightly Hard 1 - 2 \n", - "ZS0904 NaN NaN \n", - "ZN0604 Moderately Soft 0 - 1 " + "ZS0104 Slightly Hard 1 - 2 \n", + "ZN0202 Moderately Soft 0 - 1 \n", + "ZS1001 Slightly Hard 1 - 2 \n", + "ZS0902 Soft 0 \n", + "ZN0502 Moderately Soft 0 - 1 \n", + "ZS0810 Slightly Hard 1 - 2 " ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -1096,9 +1117,16 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "b074667c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:16.565468Z", + "iopub.status.busy": "2024-04-13T11:25:16.565323Z", + "iopub.status.idle": "2024-04-13T11:25:20.540393Z", + "shell.execute_reply": "2024-04-13T11:25:20.539697Z" + } + }, "outputs": [], "source": [ "maping = ni_water.get_postcode_to_water_supply_zone()" @@ -1106,1017 +1134,1024 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "fe594a73", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:20.543754Z", + "iopub.status.busy": "2024-04-13T11:25:20.543508Z", + "iopub.status.idle": "2024-04-13T11:25:20.558670Z", + "shell.execute_reply": "2024-04-13T11:25:20.558067Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "{'BT34 3EP',\n", - " 'BT34 1RG',\n", - " 'BT34 2PF',\n", - " 'BT34 3DD',\n", - " 'BT34 3NX',\n", - " 'BT34 1LJ',\n", - " 'BT34 3LW',\n", - " 'BT34 2PE',\n", - " 'BT34 2SU',\n", - " 'BT34 3LB',\n", - " 'BT34 5ER',\n", - " 'BT34 5BG',\n", - " 'BT34 3GL',\n", - " 'BT34 2RG',\n", - " 'BT34 4AT',\n", - " 'BT34 2HE',\n", - " 'BT34 5TW',\n", - " 'BT34 3LG',\n", - " 'BT34 5RN',\n", - " 'BT34 5AU',\n", - " 'BT34 4GQ',\n", - " 'BT34 4HB',\n", - " 'BT34 4AR',\n", - " 'BT34 4EJ',\n", - " 'BT34 4NR',\n", - " 'BT34 5DQ',\n", - " 'BT34 5YJ',\n", - " 'BT34 3BF',\n", - " 'BT34 1EP',\n", - " 'BT34 3HB',\n", - " 'BT34 4UE',\n", - " 'BT34 4RU',\n", - " 'BT34 5NB',\n", - " 'BT34 4AN',\n", - " 'BT34 3GZ',\n", + "{'BT34 2LP',\n", + " 'BT34 2EW',\n", + " 'BT34 1EW',\n", + " 'BT34 3SD',\n", + " 'BT34 4TP',\n", + " 'BT34 2QQ',\n", + " 'BT34 3JH',\n", + " 'BT34 2TJ',\n", + " 'BT34 3FA',\n", + " 'BT34 3ET',\n", + " 'BT34 2AS',\n", + " 'BT34 2QZ',\n", + " 'BT34 3HS',\n", + " 'BT34 3DY',\n", + " 'BT34 3XA',\n", + " 'BT34 4BA',\n", + " 'BT34 2DD',\n", + " 'BT34 4NJ',\n", + " 'BT34 3JB',\n", + " 'BT34 4LH',\n", + " 'BT34 3EZ',\n", + " 'BT34 4LW',\n", + " 'BT34 5XD',\n", + " 'BT34 1HG',\n", + " 'BT34 2ET',\n", + " 'BT34 5QQ',\n", + " 'BT34 1LL',\n", + " 'BT34 3AP',\n", + " 'BT34 2SR',\n", + " 'BT34 3FY',\n", " 'BT34 5AB',\n", - " 'BT34 3AQ',\n", - " 'BT34 4ZG',\n", - " 'BT34 4FS',\n", - " 'BT34 1SG',\n", - " 'BT34 1DB',\n", - " 'BT34 5UE',\n", - " 'BT34 4TQ',\n", - " 'BT34 4SJ',\n", - " 'BT34 1JP',\n", - " 'BT34 2GX',\n", - " 'BT34 3NA',\n", - " 'BT34 1FE',\n", - " 'BT34 4BZ',\n", - " 'BT34 3PX',\n", " 'BT34 3NY',\n", - " 'BT34 2LZ',\n", - " 'BT34 4GT',\n", - " 'BT34 3JZ',\n", - " 'BT34 1SR',\n", - " 'BT34 4UX',\n", - " 'BT34 2JT',\n", - " 'BT34 2SZ',\n", - " 'BT34 3XT',\n", - " 'BT34 2HT',\n", - " 'BT34 3EL',\n", - " 'BT34 1JH',\n", - " 'BT34 4EW',\n", - " 'BT34 2SP',\n", - " 'BT34 4UG',\n", - " 'BT34 3RR',\n", - " 'BT34 4SZ',\n", - " 'BT34 4EE',\n", - " 'BT34 1BY',\n", - " 'BT34 5UA',\n", - " 'BT34 5PZ',\n", - " 'BT34 1FH',\n", - " 'BT34 2FY',\n", - " 'BT34 2AT',\n", - " 'BT34 2JS',\n", - " 'BT34 5QW',\n", - " 'BT34 4NG',\n", - " 'BT34 4NZ',\n", - " 'BT34 1HQ',\n", - " 'BT34 3JN',\n", - " 'BT34 3BX',\n", - " 'BT34 3NG',\n", - " 'BT34 4US',\n", - " 'BT34 3NB',\n", - " 'BT34 1UA',\n", - " 'BT34 2QW',\n", - " 'BT34 3LY',\n", - " 'BT34 5XA',\n", - " 'BT34 3AP',\n", - " 'BT34 4WF',\n", + " 'BT34 2EG',\n", + " 'BT34 4UW',\n", + " 'BT34 1BP',\n", + " 'BT34 4PJ',\n", + " 'BT34 4XU',\n", + " 'BT34 1GY',\n", + " 'BT34 1EQ',\n", + " 'BT34 5EE',\n", + " 'BT34 4PW',\n", + " 'BT34 1SF',\n", + " 'BT34 2PP',\n", + " 'BT34 1PQ',\n", + " 'BT34 4XE',\n", + " 'BT34 5QX',\n", " 'BT34 3GF',\n", - " 'BT34 4GE',\n", - " 'BT34 4NW',\n", - " 'BT34 1SD',\n", - " 'BT34 3LP',\n", - " 'BT34 1JY',\n", - " 'BT34 4QP',\n", - " 'BT34 5XH',\n", - " 'BT34 5YD',\n", - " 'BT34 3AG',\n", - " 'BT34 3HD',\n", - " 'BT34 2AP',\n", - " 'BT34 4DW',\n", - " 'BT34 5ET',\n", - " 'BT34 4BQ',\n", - " 'BT34 1NG',\n", - " 'BT34 3XQ',\n", - " 'BT34 3XY',\n", - " 'BT34 5QJ',\n", " 'BT34 3PP',\n", - " 'BT34 4ZY',\n", - " 'BT34 3HZ',\n", - " 'BT34 3SB',\n", - " 'BT34 2GL',\n", - " 'BT34 4UL',\n", - " 'BT34 1NB',\n", - " 'BT34 2AH',\n", - " 'BT34 4PB',\n", - " 'BT34 1BN',\n", - " 'BT34 5AH',\n", - " 'BT34 3AA',\n", - " 'BT34 3FU',\n", - " 'BT34 2LQ',\n", - " 'BT34 4PQ',\n", - " 'BT34 3NS',\n", + " 'BT34 4PP',\n", + " 'BT34 4SF',\n", + " 'BT34 3PW',\n", + " 'BT34 2SG',\n", + " 'BT34 4AB',\n", + " 'BT34 1RS',\n", + " 'BT34 1RE',\n", + " 'BT34 3LT',\n", + " 'BT34 2PN',\n", + " 'BT34 4PN',\n", + " 'BT34 2AQ',\n", + " 'BT34 2AR',\n", + " 'BT34 3XB',\n", + " 'BT34 5RU',\n", + " 'BT34 2GD',\n", + " 'BT34 5HH',\n", + " 'BT34 2QG',\n", + " 'BT34 1SW',\n", + " 'BT34 4UN',\n", + " 'BT34 2AW',\n", + " 'BT34 5ED',\n", + " 'BT34 5UX',\n", + " 'BT34 3XT',\n", + " 'BT34 1HP',\n", + " 'BT34 2FF',\n", + " 'BT34 4LB',\n", + " 'BT34 5DP',\n", + " 'BT34 4GE',\n", + " 'BT34 4QT',\n", + " 'BT34 2QE',\n", + " 'BT34 4AD',\n", + " 'BT34 4QL',\n", + " 'BT34 4FX',\n", + " 'BT34 5GD',\n", + " 'BT34 2AY',\n", " 'BT34 1DL',\n", - " 'BT34 2HR',\n", - " 'BT34 1FQ',\n", - " 'BT34 3AL',\n", - " 'BT34 2HH',\n", - " 'BT34 2TG',\n", - " 'BT34 1BA',\n", - " 'BT34 1SZ',\n", - " 'BT34 1TB',\n", - " 'BT34 1FA',\n", - " 'BT34 2GZ',\n", - " 'BT34 3ND',\n", - " 'BT34 4LN',\n", - " 'BT34 3LD',\n", - " 'BT34 3LZ',\n", - " 'BT34 1EG',\n", - " 'BT34 1BB',\n", - " 'BT34 3EB',\n", - " 'BT34 4GZ',\n", - " 'BT34 1FN',\n", - " 'BT34 4WW',\n", - " 'BT34 4YQ',\n", - " 'BT34 2UA',\n", - " 'BT34 4LD',\n", - " 'BT34 5FJ',\n", - " 'BT34 4UT',\n", - " 'BT34 2DY',\n", - " 'BT34 1JB',\n", - " 'BT34 3GW',\n", - " 'BT34 3XZ',\n", - " 'BT34 2NS',\n", - " 'BT34 2ER',\n", - " 'BT34 4UW',\n", - " 'BT34 2FT',\n", - " 'BT34 5AN',\n", - " 'BT34 3AH',\n", - " 'BT34 4UH',\n", - " 'BT34 3AN',\n", - " 'BT34 5TT',\n", - " 'BT34 4DX',\n", - " 'BT34 4AX',\n", - " 'BT34 4BS',\n", - " 'BT34 2GH',\n", - " 'BT34 1TP',\n", - " 'BT34 5QD',\n", - " 'BT34 1GB',\n", - " 'BT34 4QZ',\n", - " 'BT34 4WJ',\n", - " 'BT34 4LW',\n", - " 'BT34 1LL',\n", - " 'BT34 4NF',\n", - " 'BT34 4XB',\n", - " 'BT34 3PE',\n", - " 'BT34 2QN',\n", - " 'BT34 2LF',\n", - " 'BT34 2HJ',\n", - " 'BT34 2GJ',\n", - " 'BT34 4PE',\n", - " 'BT34 3RQ',\n", - " 'BT34 5BT',\n", - " 'BT34 4FF',\n", - " 'BT34 1PJ',\n", - " 'BT34 2SH',\n", - " 'BT34 3GB',\n", - " 'BT34 4JJ',\n", - " 'BT34 4TG',\n", - " 'BT34 4NH',\n", - " 'BT34 4FU',\n", - " 'BT34 4SW',\n", - " 'BT34 4EH',\n", - " 'BT34 4ZU',\n", - " 'BT34 4QJ',\n", - " 'BT34 4AJ',\n", - " 'BT34 2PH',\n", - " 'BT34 3DY',\n", - " 'BT34 2RW',\n", - " 'BT34 4BH',\n", - " 'BT34 3HS',\n", - " 'BT34 2QX',\n", - " 'BT34 3GG',\n", - " 'BT34 3JR',\n", - " 'BT34 4DH',\n", - " 'BT34 4HY',\n", - " 'BT34 4TA',\n", - " 'BT34 3BW',\n", - " 'BT34 5BF',\n", - " 'BT34 5QP',\n", + " 'BT34 2HN',\n", + " 'BT34 4DD',\n", + " 'BT34 4BZ',\n", + " 'BT34 3BB',\n", + " 'BT34 1HE',\n", + " 'BT34 5EH',\n", " 'BT34 3QW',\n", - " 'BT34 2DN',\n", - " 'BT34 4QY',\n", - " 'BT34 4HF',\n", - " 'BT34 3AZ',\n", - " 'BT34 2LX',\n", - " 'BT34 2BB',\n", - " 'BT34 2DD',\n", - " 'BT34 2AW',\n", - " 'BT34 1GD',\n", - " 'BT34 4HP',\n", - " 'BT34 5EP',\n", - " 'BT34 2PZ',\n", - " 'BT34 5TE',\n", - " 'BT34 3NW',\n", - " 'BT34 5PX',\n", - " 'BT34 1JR',\n", - " 'BT34 3BL',\n", - " 'BT34 1HR',\n", - " 'BT34 2EP',\n", - " 'BT34 4GF',\n", - " 'BT34 3QZ',\n", - " 'BT34 1QX',\n", - " 'BT34 1FB',\n", - " 'BT34 3JP',\n", - " 'BT34 1QL',\n", - " 'BT34 4XE',\n", - " 'BT34 4HZ',\n", - " 'BT34 4YA',\n", - " 'BT34 2QF',\n", - " 'BT34 2JB',\n", - " 'BT34 4SY',\n", - " 'BT34 3AJ',\n", - " 'BT34 3BA',\n", - " 'BT34 5TR',\n", - " 'BT34 2AL',\n", - " 'BT34 2QB',\n", - " 'BT34 5YB',\n", - " 'BT34 5AW',\n", - " 'BT34 2EB',\n", + " 'BT34 3PH',\n", + " 'BT34 2DH',\n", + " 'BT34 3PJ',\n", + " 'BT34 2NQ',\n", + " 'BT34 1JJ',\n", + " 'BT34 1PF',\n", + " 'BT34 3RB',\n", + " 'BT34 2SX',\n", + " 'BT34 1PW',\n", + " 'BT34 3GX',\n", + " 'BT34 4PL',\n", + " 'BT34 4DZ',\n", + " 'BT34 5WF',\n", + " 'BT34 4QQ',\n", + " 'BT34 2EY',\n", + " 'BT34 2FT',\n", + " 'BT34 4TJ',\n", + " 'BT34 4WB',\n", + " 'BT34 1AW',\n", + " 'BT34 5DL',\n", + " 'BT34 4ZQ',\n", + " 'BT34 4HS',\n", + " 'BT34 2AF',\n", + " 'BT34 3XZ',\n", + " 'BT34 3DE',\n", + " 'BT34 4NQ',\n", + " 'BT34 4TH',\n", + " 'BT34 3DW',\n", + " 'BT34 3RH',\n", + " 'BT34 4WR',\n", + " 'BT34 4JS',\n", " 'BT34 4RR',\n", - " 'BT34 4QH',\n", - " 'BT34 5RF',\n", - " 'BT34 1LG',\n", - " 'BT34 5BA',\n", - " 'BT34 5QF',\n", - " 'BT34 3LH',\n", - " 'BT34 4RX',\n", - " 'BT34 1BP',\n", - " 'BT34 2NE',\n", - " 'BT34 3BY',\n", - " 'BT34 2AQ',\n", - " 'BT34 2NP',\n", - " 'BT34 5DS',\n", - " 'BT34 2JU',\n", - " 'BT34 4ND',\n", - " 'BT34 3RN',\n", - " 'BT34 1QN',\n", - " 'BT34 4WH',\n", + " 'BT34 1JA',\n", + " 'BT34 3FJ',\n", + " 'BT34 3RS',\n", + " 'BT34 3US',\n", + " 'BT34 2HY',\n", + " 'BT34 1SJ',\n", + " 'BT34 3NG',\n", + " 'BT34 4LN',\n", + " 'BT34 4BP',\n", + " 'BT34 1SQ',\n", + " 'BT34 4ES',\n", + " 'BT34 4HP',\n", + " 'BT34 2EE',\n", + " 'BT34 2LN',\n", + " 'BT34 1HQ',\n", " 'BT34 5RP',\n", - " 'BT34 1GG',\n", - " 'BT34 1QR',\n", - " 'BT34 4BW',\n", - " 'BT34 4ZT',\n", - " 'BT34 3TY',\n", - " 'BT34 5YW',\n", - " 'BT34 3LU',\n", - " 'BT34 4ZQ',\n", - " 'BT34 1TU',\n", + " 'BT34 2NT',\n", + " 'BT34 3EU',\n", + " 'BT34 4DF',\n", + " 'BT34 5WE',\n", + " 'BT34 2AN',\n", + " 'BT34 1JT',\n", + " 'BT34 2SH',\n", + " 'BT34 5AH',\n", + " 'BT34 3EF',\n", + " 'BT34 1PH',\n", + " 'BT34 2HA',\n", + " 'BT34 2BA',\n", + " 'BT34 4TX',\n", + " 'BT34 4LL',\n", + " 'BT34 2GR',\n", + " 'BT34 1HN',\n", " 'BT34 5PE',\n", - " 'BT34 3QQ',\n", - " 'BT34 2FG',\n", - " 'BT34 4YH',\n", - " 'BT34 4GR',\n", - " 'BT34 2DQ',\n", - " 'BT34 2NN',\n", - " 'BT34 3EH',\n", + " 'BT34 4SB',\n", + " 'BT34 3BU',\n", + " 'BT34 3FH',\n", + " 'BT34 4RX',\n", + " 'BT34 5BE',\n", + " 'BT34 1RW',\n", + " 'BT34 4SH',\n", + " 'BT34 5WZ',\n", + " 'BT34 3NB',\n", + " 'BT34 3SY',\n", + " 'BT34 1RR',\n", + " 'BT34 3TJ',\n", + " 'BT34 5LZ',\n", + " 'BT34 3FU',\n", + " 'BT34 5BQ',\n", + " 'BT34 4GD',\n", + " 'BT34 1BF',\n", + " 'BT34 4NA',\n", + " 'BT34 3PR',\n", + " 'BT34 5AJ',\n", + " 'BT34 1QP',\n", + " 'BT34 2SS',\n", + " 'BT34 2TH',\n", + " 'BT34 2RH',\n", + " 'BT34 5TR',\n", + " 'BT34 3RF',\n", + " 'BT34 4BW',\n", + " 'BT34 5YA',\n", + " 'BT34 4QE',\n", + " 'BT34 5AS',\n", + " 'BT34 2FY',\n", " 'BT34 3HF',\n", - " 'BT34 3NJ',\n", - " 'BT34 3TD',\n", - " 'BT34 2BH',\n", - " 'BT34 3LA',\n", - " 'BT34 1DX',\n", - " 'BT34 1SQ',\n", - " 'BT34 1PF',\n", - " 'BT34 4FT',\n", - " 'BT34 5QQ',\n", - " 'BT34 3NT',\n", - " 'BT34 3YE',\n", - " 'BT34 3BE',\n", - " 'BT34 4BE',\n", - " 'BT34 3FB',\n", - " 'BT34 4BU',\n", - " 'BT34 2EG',\n", - " 'BT34 4EZ',\n", - " 'BT34 4GB',\n", - " 'BT34 5UJ',\n", - " 'BT34 4XP',\n", - " 'BT34 4NN',\n", - " 'BT34 2PL',\n", - " 'BT34 4FP',\n", - " 'BT34 1LW',\n", - " 'BT34 3GY',\n", - " 'BT34 4WZ',\n", - " 'BT34 3RD',\n", - " 'BT34 5TD',\n", - " 'BT34 4NT',\n", - " 'BT34 4BT',\n", - " 'BT34 3DE',\n", - " 'BT34 1QS',\n", - " 'BT34 3EJ',\n", + " 'BT34 5TS',\n", + " 'BT34 5XA',\n", + " 'BT34 1BJ',\n", + " 'BT34 3HA',\n", + " 'BT34 4SL',\n", + " 'BT34 5PS',\n", + " 'BT34 1EF',\n", " 'BT34 5YN',\n", - " 'BT34 5EB',\n", - " 'BT34 4SQ',\n", - " 'BT34 4TP',\n", - " 'BT34 1LT',\n", - " 'BT34 5DW',\n", - " 'BT34 3UB',\n", - " 'BT34 3DZ',\n", - " 'BT34 5BH',\n", - " 'BT34 3YF',\n", - " 'BT34 4GL',\n", - " 'BT34 2NF',\n", - " 'BT34 2TZ',\n", - " 'BT34 3RF',\n", - " 'BT34 2QL',\n", - " 'BT34 4RY',\n", - " 'BT34 3XR',\n", - " 'BT34 4SR',\n", - " 'BT34 2DU',\n", - " 'BT34 4WS',\n", - " 'BT34 5RL',\n", - " 'BT34 4PL',\n", - " 'BT34 5FN',\n", - " 'BT34 3BB',\n", - " 'BT34 5XR',\n", - " 'BT34 1SH',\n", - " 'BT34 2QA',\n", - " 'BT34 2SA',\n", - " 'BT34 3EN',\n", - " 'BT34 3YJ',\n", - " 'BT34 4LZ',\n", - " 'BT34 4DL',\n", - " 'BT34 2JH',\n", - " 'BT34 5FD',\n", - " 'BT34 1RD',\n", - " 'BT34 2RX',\n", - " 'BT34 1AR',\n", - " 'BT34 1NQ',\n", - " 'BT34 2PW',\n", - " 'BT34 1QW',\n", + " 'BT34 4HX',\n", + " 'BT34 5DN',\n", + " 'BT34 5FR',\n", + " 'BT34 4QG',\n", + " 'BT34 1DG',\n", + " 'BT34 4JF',\n", + " 'BT34 4QP',\n", + " 'BT34 2JU',\n", + " 'BT34 2RE',\n", + " 'BT34 3FG',\n", + " 'BT34 2HS',\n", " 'BT34 4ZE',\n", - " 'BT34 2DT',\n", - " 'BT34 3YN',\n", - " 'BT34 3AD',\n", - " 'BT34 3UF',\n", - " 'BT34 1JA',\n", - " 'BT34 4TZ',\n", - " 'BT34 3RB',\n", - " 'BT34 5XG',\n", - " 'BT34 1HT',\n", - " 'BT34 4PJ',\n", - " 'BT34 1HB',\n", - " 'BT34 4NL',\n", - " 'BT34 3AE',\n", - " 'BT34 1UD',\n", - " 'BT34 5FU',\n", - " 'BT34 3GA',\n", - " 'BT34 3JW',\n", - " 'BT34 2HQ',\n", + " 'BT34 1BH',\n", + " 'BT34 4NH',\n", + " 'BT34 5QL',\n", + " 'BT34 1LA',\n", + " 'BT34 5UY',\n", + " 'BT34 3LG',\n", + " 'BT34 4PX',\n", + " 'BT34 4TL',\n", + " 'BT34 2JH',\n", + " 'BT34 1TH',\n", + " 'BT34 1LW',\n", + " 'BT34 5EA',\n", + " 'BT34 5UG',\n", + " 'BT34 5AN',\n", + " 'BT34 4JW',\n", + " 'BT34 3FQ',\n", " 'BT34 5DJ',\n", - " 'BT34 4YD',\n", - " 'BT34 5FA',\n", - " 'BT34 4PR',\n", - " 'BT34 2WP',\n", - " 'BT34 4JX',\n", - " 'BT34 3TA',\n", - " 'BT34 1PG',\n", + " 'BT34 5UR',\n", + " 'BT34 4TR',\n", + " 'BT34 4ND',\n", + " 'BT34 1BW',\n", + " 'BT34 5QZ',\n", + " 'BT34 4EJ',\n", + " 'BT34 4UF',\n", + " 'BT34 1EJ',\n", + " 'BT34 4BQ',\n", + " 'BT34 1QU',\n", + " 'BT34 4TE',\n", + " 'BT34 4SU',\n", + " 'BT34 3PT',\n", + " 'BT34 1EN',\n", + " 'BT34 5DH',\n", + " 'BT34 5DS',\n", + " 'BT34 3AE',\n", + " 'BT34 1FN',\n", + " 'BT34 1TF',\n", + " 'BT34 4PT',\n", + " 'BT34 1SX',\n", + " 'BT34 5AT',\n", + " 'BT34 1NQ',\n", + " 'BT34 1PZ',\n", + " 'BT34 2RY',\n", + " 'BT34 4AL',\n", " 'BT34 2GA',\n", - " 'BT34 3RJ',\n", - " 'BT34 1LZ',\n", - " 'BT34 3QL',\n", - " 'BT34 3PW',\n", - " 'BT34 3XB',\n", + " 'BT34 3EP',\n", + " 'BT34 1AS',\n", + " 'BT34 1FH',\n", + " 'BT34 1LD',\n", + " 'BT34 2LQ',\n", + " 'BT34 2EJ',\n", + " 'BT34 1GB',\n", + " 'BT34 2EU',\n", + " 'BT34 3XU',\n", + " 'BT34 1QE',\n", + " 'BT34 2SU',\n", + " 'BT34 1RF',\n", + " 'BT34 2RT',\n", + " 'BT34 2GJ',\n", + " 'BT34 3RT',\n", + " 'BT34 4QZ',\n", + " 'BT34 1LN',\n", + " 'BT34 2RA',\n", + " 'BT34 1AQ',\n", + " 'BT34 1SU',\n", " 'BT34 4LY',\n", - " 'BT34 5AX',\n", - " 'BT34 3UP',\n", - " 'BT34 2AN',\n", - " 'BT34 1TG',\n", - " 'BT34 2TD',\n", - " 'BT34 4ZP',\n", - " 'BT34 4QL',\n", + " 'BT34 2QL',\n", + " 'BT34 2DQ',\n", + " 'BT34 4LP',\n", + " 'BT34 2DG',\n", + " 'BT34 3JP',\n", + " 'BT34 3NN',\n", + " 'BT34 2NF',\n", + " 'BT34 4GZ',\n", + " 'BT34 4LA',\n", + " 'BT34 3PF',\n", + " 'BT34 3EB',\n", + " 'BT34 4ZY',\n", + " 'BT34 4NY',\n", + " 'BT34 4BD',\n", + " 'BT34 4BH',\n", + " 'BT34 4QA',\n", + " 'BT34 5EB',\n", + " 'BT34 3DL',\n", + " 'BT34 4XD',\n", + " 'BT34 4FZ',\n", + " 'BT34 5QF',\n", + " 'BT34 3GN',\n", + " 'BT34 1EE',\n", " 'BT34 5TF',\n", - " 'BT34 2FU',\n", - " 'BT34 5RG',\n", - " 'BT34 4XW',\n", - " 'BT34 1DQ',\n", - " 'BT34 3FF',\n", - " 'BT34 3AT',\n", - " 'BT34 2QT',\n", - " 'BT34 2HS',\n", - " 'BT34 4AA',\n", - " 'BT34 4AB',\n", - " 'BT34 3QU',\n", - " 'BT34 2EU',\n", - " 'BT34 5QG',\n", - " 'BT34 1EJ',\n", - " 'BT34 2AG',\n", + " 'BT34 2FX',\n", " 'BT34 4PU',\n", - " 'BT34 4GD',\n", - " 'BT34 1NE',\n", - " 'BT34 5ED',\n", - " 'BT34 3BP',\n", - " 'BT34 4XH',\n", - " 'BT34 4BA',\n", - " 'BT34 2DE',\n", - " 'BT34 3RX',\n", - " 'BT34 2RH',\n", - " 'BT34 4LR',\n", - " 'BT34 2LY',\n", - " 'BT34 3JD',\n", - " 'BT34 3PF',\n", - " 'BT34 2DF',\n", - " 'BT34 1QP',\n", - " 'BT34 2QY',\n", - " 'BT34 4AY',\n", - " 'BT34 3BH',\n", - " 'BT34 2NX',\n", - " 'BT34 5AY',\n", - " 'BT34 3EX',\n", - " 'BT34 2FN',\n", - " 'BT34 4WN',\n", - " 'BT34 5HG',\n", - " 'BT34 3HL',\n", - " 'BT34 4DF',\n", - " 'BT34 5UB',\n", - " 'BT34 5BQ',\n", - " 'BT34 2DZ',\n", - " 'BT34 2RL',\n", - " 'BT34 4QB',\n", - " 'BT34 4BX',\n", - " 'BT34 2AF',\n", - " 'BT34 2SQ',\n", - " 'BT34 4XU',\n", - " 'BT34 4SL',\n", - " 'BT34 4SU',\n", - " 'BT34 1PL',\n", - " 'BT34 3RP',\n", - " 'BT34 3HJ',\n", - " 'BT34 3XS',\n", - " 'BT34 4DY',\n", - " 'BT34 5YL',\n", - " 'BT34 5XT',\n", - " 'BT34 2SL',\n", + " 'BT34 1FL',\n", + " 'BT34 2FD',\n", + " 'BT34 4YL',\n", + " 'BT34 4RA',\n", + " 'BT34 4TN',\n", + " 'BT34 4FQ',\n", + " 'BT34 1TN',\n", + " 'BT34 2DB',\n", + " 'BT34 2RB',\n", + " 'BT34 4ZW',\n", + " 'BT34 2EF',\n", + " 'BT34 4BN',\n", + " 'BT34 4HN',\n", + " 'BT34 4SJ',\n", + " 'BT34 4UD',\n", + " 'BT34 5YH',\n", + " 'BT34 4AR',\n", + " 'BT34 4AP',\n", + " 'BT34 5BG',\n", " 'BT34 4RH',\n", - " 'BT34 4QW',\n", - " 'BT34 2JE',\n", - " 'BT34 3JX',\n", - " 'BT34 1LF',\n", - " 'BT34 1PU',\n", - " 'BT34 1FD',\n", - " 'BT34 5HH',\n", - " 'BT34 4ZJ',\n", - " 'BT34 3LL',\n", - " 'BT34 1RT',\n", - " 'BT34 3AX',\n", - " 'BT34 2TR',\n", - " 'BT34 3FG',\n", - " 'BT34 3QT',\n", - " 'BT34 4JT',\n", - " 'BT34 4EP',\n", - " 'BT34 2LH',\n", - " 'BT34 4HE',\n", - " 'BT34 3TL',\n", - " 'BT34 3GQ',\n", - " 'BT34 3QN',\n", - " 'BT34 3PN',\n", - " 'BT34 1GY',\n", - " 'BT34 1JW',\n", - " 'BT34 4GG',\n", - " 'BT34 3NL',\n", - " 'BT34 4PY',\n", - " 'BT34 3HP',\n", - " 'BT34 1PT',\n", - " 'BT34 1SY',\n", - " 'BT34 5LT',\n", - " 'BT34 5AS',\n", - " 'BT34 4JE',\n", + " 'BT34 2DS',\n", + " 'BT34 3DX',\n", + " 'BT34 5DQ',\n", + " 'BT34 2BY',\n", + " 'BT34 1GF',\n", + " 'BT34 5QW',\n", + " 'BT34 4FF',\n", + " 'BT34 3UN',\n", + " 'BT34 1QB',\n", + " 'BT34 5TT',\n", + " 'BT34 4QX',\n", + " 'BT34 4LS',\n", + " 'BT34 4RY',\n", + " 'BT34 4SE',\n", + " 'BT34 4GB',\n", + " 'BT34 2JL',\n", + " 'BT34 5FQ',\n", + " 'BT34 2GP',\n", + " 'BT34 3XR',\n", + " 'BT34 2DY',\n", + " 'BT34 3LZ',\n", " 'BT34 1SP',\n", - " 'BT34 4FE',\n", - " 'BT34 5PT',\n", - " 'BT34 2LU',\n", - " 'BT34 3GP',\n", - " 'BT34 5EG',\n", - " 'BT34 4SF',\n", - " 'BT34 1GA',\n", - " 'BT34 4DJ',\n", - " 'BT34 2EJ',\n", - " 'BT34 5TQ',\n", - " 'BT34 3EW',\n", - " 'BT34 3PQ',\n", - " 'BT34 2HW',\n", - " 'BT34 3HG',\n", - " 'BT34 4SD',\n", - " 'BT34 4HN',\n", + " 'BT34 3UJ',\n", + " 'BT34 2BB',\n", + " 'BT34 4UR',\n", + " 'BT34 3LE',\n", + " 'BT34 4SW',\n", + " 'BT34 3BH',\n", + " 'BT34 2JT',\n", + " 'BT34 3XN',\n", + " 'BT34 5TP',\n", + " 'BT34 3NQ',\n", + " 'BT34 2GZ',\n", + " 'BT34 1DZ',\n", + " 'BT34 1JX',\n", + " 'BT34 4HR',\n", + " 'BT34 4WW',\n", + " 'BT34 4SZ',\n", + " 'BT34 3XE',\n", + " 'BT34 2EB',\n", + " 'BT34 2QW',\n", + " 'BT34 5XY',\n", + " 'BT34 2SQ',\n", + " 'BT34 4UH',\n", + " 'BT34 3BW',\n", + " 'BT34 2PJ',\n", + " 'BT34 4GP',\n", + " 'BT34 4ZH',\n", + " 'BT34 3DQ',\n", + " 'BT34 4NU',\n", + " 'BT34 2DU',\n", + " 'BT34 3UB',\n", + " 'BT34 2EZ',\n", + " 'BT34 5TG',\n", + " 'BT34 2NW',\n", + " 'BT34 3XJ',\n", + " 'BT34 2SP',\n", + " 'BT34 4UX',\n", + " 'BT34 2LD',\n", + " 'BT34 3LW',\n", + " 'BT34 1JD',\n", + " 'BT34 1UF',\n", + " 'BT34 2HZ',\n", + " 'BT34 4AH',\n", + " 'BT34 3NU',\n", + " 'BT34 5FU',\n", + " 'BT34 2GH',\n", + " 'BT34 5AG',\n", + " 'BT34 4DG',\n", + " 'BT34 4ZL',\n", + " 'BT34 4YH',\n", + " 'BT34 4DQ',\n", + " 'BT34 2EL',\n", + " 'BT34 3FE',\n", " 'BT34 4QR',\n", - " 'BT34 2PN',\n", - " 'BT34 2LE',\n", - " 'BT34 3HU',\n", - " 'BT34 4RF',\n", - " 'BT34 4LA',\n", - " 'BT34 3DW',\n", - " 'BT34 5RJ',\n", - " 'BT34 5QB',\n", - " 'BT34 4RD',\n", + " 'BT34 4ZF',\n", + " 'BT34 2QA',\n", + " 'BT34 1FR',\n", + " 'BT34 3EL',\n", + " 'BT34 4GQ',\n", + " 'BT34 5UZ',\n", + " 'BT34 4BT',\n", + " 'BT34 5YL',\n", + " 'BT34 4JP',\n", + " 'BT34 1DN',\n", + " 'BT34 2AH',\n", + " 'BT34 4ET',\n", + " 'BT34 2JP',\n", + " 'BT34 4HZ',\n", + " 'BT34 4JH',\n", + " 'BT34 2AL',\n", + " 'BT34 4YD',\n", + " 'BT34 3FP',\n", + " 'BT34 3SZ',\n", + " 'BT34 5XX',\n", + " 'BT34 2PH',\n", + " 'BT34 4RZ',\n", + " 'BT34 1QZ',\n", + " 'BT34 4XS',\n", + " 'BT34 5RG',\n", + " 'BT34 3FX',\n", + " 'BT34 5LY',\n", + " 'BT34 5AE',\n", + " 'BT34 5RL',\n", + " 'BT34 1AZ',\n", + " 'BT34 5BF',\n", + " 'BT34 4NF',\n", + " 'BT34 3AB',\n", + " 'BT34 3BZ',\n", + " 'BT34 2RX',\n", + " 'BT34 5FH',\n", + " 'BT34 3EY',\n", + " 'BT34 5TH',\n", + " 'BT34 1RH',\n", + " 'BT34 5DU',\n", + " 'BT34 4JG',\n", + " 'BT34 3DN',\n", + " 'BT34 4EA',\n", + " 'BT34 4HT',\n", + " 'BT34 3QF',\n", + " 'BT34 2AA',\n", + " 'BT34 1SY',\n", + " 'BT34 4PY',\n", + " 'BT34 1GE',\n", + " 'BT34 3EJ',\n", + " 'BT34 4ER',\n", + " 'BT34 5XZ',\n", + " 'BT34 4XN',\n", + " 'BT34 4WS',\n", + " 'BT34 4RS',\n", + " 'BT34 5RT',\n", + " 'BT34 2FJ',\n", + " 'BT34 4NE',\n", + " 'BT34 2FZ',\n", + " 'BT34 3AD',\n", + " 'BT34 1JH',\n", + " 'BT34 5UU',\n", + " 'BT34 2RG',\n", + " 'BT34 3JX',\n", + " 'BT34 2RN',\n", + " 'BT34 5EW',\n", + " 'BT34 3QD',\n", + " 'BT34 3NS',\n", + " 'BT34 5AA',\n", " 'BT34 2ST',\n", - " 'BT34 4TN',\n", - " 'BT34 4AQ',\n", - " 'BT34 4QA',\n", - " 'BT34 3NP',\n", - " 'BT34 3BJ',\n", - " 'BT34 3GS',\n", - " 'BT34 4QF',\n", - " 'BT34 3EF',\n", - " 'BT34 5AR',\n", - " 'BT34 2PJ',\n", - " 'BT34 2FL',\n", - " 'BT34 2JG',\n", - " 'BT34 4JN',\n", - " 'BT34 2PS',\n", - " 'BT34 4QX',\n", + " 'BT34 4YS',\n", + " 'BT34 3GP',\n", + " 'BT34 3YF',\n", + " 'BT34 1RT',\n", + " 'BT34 4WH',\n", + " 'BT34 3AN',\n", + " 'BT34 5UD',\n", + " 'BT34 1FB',\n", + " 'BT34 3SR',\n", + " 'BT34 5FS',\n", + " 'BT34 2HG',\n", + " 'BT34 3BN',\n", + " 'BT34 5QR',\n", + " 'BT34 5RH',\n", + " 'BT34 2NX',\n", + " 'BT34 3NX',\n", + " 'BT34 1QH',\n", + " 'BT34 4EU',\n", + " 'BT34 3QB',\n", + " 'BT34 2BQ',\n", + " 'BT34 2RJ',\n", + " 'BT34 3BG',\n", + " 'BT34 1TL',\n", " 'BT34 3NR',\n", - " 'BT34 4HQ',\n", - " 'BT34 1RN',\n", - " 'BT34 4SG',\n", - " 'BT34 3RY',\n", - " 'BT34 5HL',\n", - " 'BT34 1JG',\n", - " 'BT34 4JG',\n", - " 'BT34 1TS',\n", - " 'BT34 2SG',\n", - " 'BT34 3XA',\n", + " 'BT34 4ZS',\n", + " 'BT34 3DP',\n", " 'BT34 4EG',\n", - " 'BT34 1PR',\n", - " 'BT34 4LP',\n", - " 'BT34 1AN',\n", - " 'BT34 1TF',\n", - " 'BT34 5AP',\n", - " 'BT34 4XX',\n", - " 'BT34 5XS',\n", - " 'BT34 5DL',\n", - " 'BT34 1BG',\n", - " 'BT34 2PP',\n", - " 'BT34 3AF',\n", - " 'BT34 4RN',\n", - " 'BT34 3HY',\n", - " 'BT34 4XJ',\n", - " 'BT34 4RA',\n", - " 'BT34 1GZ',\n", - " 'BT34 2ET',\n", - " 'BT34 4PF',\n", - " 'BT34 4FA',\n", - " 'BT34 1HX',\n", - " 'BT34 1ND',\n", - " 'BT34 3GJ',\n", - " 'BT34 3DQ',\n", - " 'BT34 1ET',\n", - " 'BT34 1HD',\n", - " 'BT34 2HX',\n", - " 'BT34 4QS',\n", - " 'BT34 2GU',\n", + " 'BT34 2EN',\n", + " 'BT34 3AX',\n", + " 'BT34 4WA',\n", + " 'BT34 3GL',\n", + " 'BT34 5TA',\n", + " 'BT34 1FD',\n", + " 'BT34 3WL',\n", + " 'BT34 2ER',\n", + " 'BT34 3SA',\n", + " 'BT34 1PJ',\n", + " 'BT34 5TJ',\n", + " 'BT34 3YN',\n", + " 'BT34 2PE',\n", + " 'BT34 2WW',\n", " 'BT34 2QD',\n", - " 'BT34 2BX',\n", + " 'BT34 5UN',\n", + " 'BT34 4SY',\n", + " 'BT34 3QN',\n", + " 'BT34 4YG',\n", + " 'BT34 1BE',\n", + " 'BT34 3AY',\n", + " 'BT34 4UG',\n", + " 'BT34 1QW',\n", + " 'BT34 3DU',\n", + " 'BT34 5PW',\n", + " 'BT34 4GR',\n", + " 'BT34 2ND',\n", + " 'BT34 1ET',\n", + " 'BT34 4NL',\n", + " 'BT34 2LL',\n", + " 'BT34 1LB',\n", + " 'BT34 2BW',\n", + " 'BT34 5LU',\n", + " 'BT34 4SA',\n", + " 'BT34 3EQ',\n", + " 'BT34 1ST',\n", + " 'BT34 1HR',\n", " 'BT34 5UQ',\n", - " 'BT34 2RD',\n", - " 'BT34 3UD',\n", - " 'BT34 5UD',\n", - " 'BT34 3GE',\n", - " 'BT34 3PD',\n", + " 'BT34 3XG',\n", + " 'BT34 4LF',\n", + " 'BT34 3BX',\n", + " 'BT34 5FY',\n", + " 'BT34 4FY',\n", + " 'BT34 1DD',\n", + " 'BT34 1JB',\n", + " 'BT34 3BP',\n", + " 'BT34 2HP',\n", + " 'BT34 1LY',\n", + " 'BT34 3RJ',\n", + " 'BT34 5TU',\n", + " 'BT34 4UA',\n", + " 'BT34 3QP',\n", + " 'BT34 2RZ',\n", + " 'BT34 5PG',\n", + " 'BT34 5TZ',\n", + " 'BT34 1TB',\n", + " 'BT34 4XH',\n", + " 'BT34 3GW',\n", + " 'BT34 4DY',\n", + " 'BT34 5AR',\n", + " 'BT34 4ZJ',\n", + " 'BT34 3HL',\n", + " 'BT34 3JA',\n", + " 'BT34 4EB',\n", + " 'BT34 4EY',\n", + " 'BT34 1TG',\n", + " 'BT34 2LA',\n", + " 'BT34 1QQ',\n", + " 'BT34 1AY',\n", + " 'BT34 3TY',\n", + " 'BT34 4HU',\n", + " 'BT34 3TL',\n", + " 'BT34 4TF',\n", " 'BT34 1RJ',\n", - " 'BT34 3NN',\n", - " 'BT34 2WW',\n", - " 'BT34 1DG',\n", - " 'BT34 5FT',\n", - " 'BT34 5LZ',\n", - " 'BT34 1RH',\n", - " 'BT34 3ES',\n", - " 'BT34 3UH',\n", - " 'BT34 4WT',\n", - " 'BT34 4NQ',\n", - " 'BT34 2BQ',\n", + " 'BT34 2LX',\n", + " 'BT34 3HQ',\n", + " 'BT34 2PZ',\n", + " 'BT34 5FF',\n", + " 'BT34 3RX',\n", + " 'BT34 1LJ',\n", + " 'BT34 3TN',\n", " 'BT34 4DS',\n", - " 'BT34 5QX',\n", - " 'BT34 1LN',\n", - " 'BT34 1LA',\n", - " 'BT34 5TA',\n", - " 'BT34 1SX',\n", - " 'BT34 3JB',\n", - " 'BT34 5TS',\n", - " 'BT34 4EN',\n", - " 'BT34 3NQ',\n", - " 'BT34 5TJ',\n", - " 'BT34 4RZ',\n", - " 'BT34 1TE',\n", - " 'BT34 4SS',\n", - " 'BT34 2FQ',\n", - " 'BT34 3GD',\n", - " 'BT34 4YJ',\n", - " 'BT34 4DE',\n", - " 'BT34 1HL',\n", - " 'BT34 4WB',\n", - " 'BT34 3TX',\n", - " 'BT34 4XG',\n", - " 'BT34 1FL',\n", - " 'BT34 2FF',\n", - " 'BT34 1HU',\n", - " 'BT34 4PA',\n", - " 'BT34 5GZ',\n", - " 'BT34 3ED',\n", - " 'BT34 5PG',\n", - " 'BT34 3SX',\n", + " 'BT34 5DT',\n", + " 'BT34 2QN',\n", " 'BT34 4EF',\n", - " 'BT34 5TP',\n", - " 'BT34 2GY',\n", - " 'BT34 3UN',\n", - " 'BT34 3RT',\n", - " 'BT34 5TB',\n", - " 'BT34 4TU',\n", - " 'BT34 4UA',\n", - " 'BT34 1RR',\n", - " 'BT34 2HB',\n", - " 'BT34 1PN',\n", - " 'BT34 5AQ',\n", - " 'BT34 4XL',\n", - " 'BT34 2LL',\n", - " 'BT34 3AR',\n", - " 'BT34 2TB',\n", - " 'BT34 1QE',\n", - " 'BT34 5FL',\n", - " 'BT34 4SP',\n", - " 'BT34 4WE',\n", - " 'BT34 3EY',\n", - " 'BT34 4HW',\n", - " 'BT34 3JQ',\n", - " 'BT34 2SX',\n", - " 'BT34 2GP',\n", - " 'BT34 4BF',\n", - " 'BT34 4EY',\n", - " 'BT34 4AE',\n", - " 'BT34 4JP',\n", - " 'BT34 4BJ',\n", - " 'BT34 1JT',\n", - " 'BT34 5DH',\n", - " 'BT34 2NZ',\n", - " 'BT34 4TW',\n", - " 'BT34 2LS',\n", - " 'BT34 2JY',\n", - " 'BT34 2DP',\n", - " 'BT34 2PD',\n", - " 'BT34 1BT',\n", - " 'BT34 4GY',\n", - " 'BT34 4QG',\n", - " 'BT34 2PY',\n", - " 'BT34 3AS',\n", - " 'BT34 5DG',\n", - " 'BT34 4JL',\n", - " 'BT34 5BL',\n", - " 'BT34 3SD',\n", - " 'BT34 4YL',\n", - " 'BT34 3TS',\n", - " 'BT34 4YG',\n", - " 'BT34 3ER',\n", - " 'BT34 4BY',\n", - " 'BT34 4FX',\n", - " 'BT34 2FH',\n", - " 'BT34 4RL',\n", - " 'BT34 1SS',\n", - " 'BT34 2DH',\n", - " 'BT34 3PL',\n", - " 'BT34 2RR',\n", - " 'BT34 5US',\n", - " 'BT34 3UQ',\n", - " 'BT34 1DY',\n", - " 'BT34 5XD',\n", - " 'BT34 3QG',\n", - " 'BT34 5XE',\n", - " 'BT34 2BY',\n", - " 'BT34 3QY',\n", - " 'BT34 2NT',\n", - " 'BT34 2PR',\n", - " 'BT34 2DG',\n", - " 'BT34 2FD',\n", - " 'BT34 2LJ',\n", + " 'BT34 4UY',\n", + " 'BT34 1LT',\n", + " 'BT34 2QT',\n", + " 'BT34 4EQ',\n", + " 'BT34 3BL',\n", + " 'BT34 1HF',\n", + " 'BT34 5BN',\n", + " 'BT34 5XU',\n", + " 'BT34 5TQ',\n", + " 'BT34 3GU',\n", + " 'BT34 5FZ',\n", + " 'BT34 5QU',\n", + " 'BT34 2DZ',\n", + " 'BT34 4ZA',\n", + " 'BT34 4ZN',\n", + " 'BT34 5FL',\n", + " 'BT34 4NB',\n", + " 'BT34 4DL',\n", + " 'BT34 4AE',\n", + " 'BT34 3NL',\n", + " 'BT34 2SZ',\n", + " 'BT34 5BT',\n", + " 'BT34 5PX',\n", + " 'BT34 3QT',\n", + " 'BT34 1HL',\n", + " 'BT34 3UL',\n", + " 'BT34 5DW',\n", + " 'BT34 2QR',\n", + " 'BT34 3GB',\n", + " 'BT34 2HL',\n", + " 'BT34 4ZP',\n", + " 'BT34 5BB',\n", + " 'BT34 3BA',\n", + " 'BT34 3TP',\n", + " 'BT34 2NB',\n", + " 'BT34 2LH',\n", + " 'BT34 4AN',\n", + " 'BT34 2HB',\n", + " 'BT34 1LZ',\n", + " 'BT34 4LT',\n", + " 'BT34 5XF',\n", + " 'BT34 2TW',\n", + " 'BT34 4HB',\n", + " 'BT34 1JQ',\n", " 'BT34 4AS',\n", - " 'BT34 3FT',\n", + " 'BT34 1DF',\n", + " 'BT34 4SP',\n", + " 'BT34 5XB',\n", + " 'BT34 3SL',\n", + " 'BT34 4SN',\n", + " 'BT34 1JL',\n", + " 'BT34 3GS',\n", + " 'BT34 4AA',\n", + " 'BT34 5YW',\n", + " 'BT34 1GA',\n", + " 'BT34 5QH',\n", + " 'BT34 2LB',\n", + " 'BT34 3AZ',\n", + " 'BT34 3JG',\n", + " 'BT34 4DH',\n", + " 'BT34 4XY',\n", + " 'BT34 1DE',\n", + " 'BT34 3FR',\n", + " 'BT34 5UJ',\n", + " 'BT34 5GE',\n", + " 'BT34 4UL',\n", + " 'BT34 1SG',\n", + " 'BT34 2GB',\n", + " 'BT34 4HQ',\n", + " 'BT34 2BP',\n", + " 'BT34 1JY',\n", + " 'BT34 3SF',\n", + " 'BT34 4YZ',\n", + " 'BT34 2WP',\n", + " 'BT34 4LX',\n", + " 'BT34 5XT',\n", + " 'BT34 3JZ',\n", + " 'BT34 4HE',\n", + " 'BT34 1PR',\n", + " 'BT34 4QY',\n", + " 'BT34 5UE',\n", + " 'BT34 3LD',\n", + " 'BT34 2DW',\n", + " 'BT34 2GL',\n", + " 'BT34 3XD',\n", " 'BT34 3JL',\n", - " 'BT34 1NN',\n", - " 'BT34 4PG',\n", - " 'BT34 4DZ',\n", + " 'BT34 1NA',\n", + " 'BT34 4WF',\n", + " 'BT34 1PG',\n", + " 'BT34 3FB',\n", + " 'BT34 5AQ',\n", + " 'BT34 3GA',\n", + " 'BT34 3RR',\n", + " 'BT34 3FS',\n", " 'BT34 3YG',\n", - " 'BT34 2TJ',\n", - " 'BT34 5XB',\n", - " 'BT34 2AE',\n", - " 'BT34 5WZ',\n", - " 'BT34 2PU',\n", - " 'BT34 3TW',\n", - " 'BT34 2TY',\n", - " 'BT34 4LF',\n", - " 'BT34 1HJ',\n", - " 'BT34 1BJ',\n", - " 'BT34 3UR',\n", - " 'BT34 3ET',\n", - " 'BT34 3JH',\n", - " 'BT34 5DU',\n", - " 'BT34 2JP',\n", - " 'BT34 4DN',\n", - " 'BT34 1DF',\n", - " 'BT34 3GU',\n", - " 'BT34 1HG',\n", - " 'BT34 1NF',\n", - " 'BT34 4UJ',\n", - " 'BT34 5XF',\n", - " 'BT34 5AZ',\n", - " 'BT34 4HH',\n", - " 'BT34 3HE',\n", - " 'BT34 1FR',\n", + " 'BT34 3UQ',\n", + " 'BT34 4SR',\n", + " 'BT34 1QT',\n", + " 'BT34 3NP',\n", + " 'BT34 3FT',\n", " 'BT34 3RG',\n", - " 'BT34 2FX',\n", - " 'BT34 1TL',\n", - " 'BT34 2HF',\n", - " 'BT34 1ER',\n", - " 'BT34 3HA',\n", - " 'BT34 2RA',\n", - " 'BT34 3UX',\n", - " 'BT34 4WA',\n", - " 'BT34 2SD',\n", - " 'BT34 2TL',\n", - " 'BT34 3PJ',\n", - " 'BT34 3UW',\n", - " 'BT34 4JZ',\n", - " 'BT34 4JU',\n", - " 'BT34 3GH',\n", - " 'BT34 3TU',\n", - " 'BT34 3NF',\n", - " 'BT34 4QQ',\n", - " 'BT34 3SU',\n", - " 'BT34 4ZH',\n", - " 'BT34 2AU',\n", + " 'BT34 3BJ',\n", + " 'BT34 4DR',\n", + " 'BT34 4PE',\n", + " 'BT34 4BS',\n", + " 'BT34 2EA',\n", + " 'BT34 4LZ',\n", + " 'BT34 1BT',\n", + " 'BT34 4SQ',\n", + " 'BT34 1SN',\n", + " 'BT34 5EQ',\n", + " 'BT34 2FG',\n", " 'BT34 4XF',\n", - " 'BT34 2PX',\n", - " 'BT34 4TE',\n", - " 'BT34 4FJ',\n", - " 'BT34 3RE',\n", - " 'BT34 1JL',\n", - " 'BT34 1HW',\n", - " 'BT34 1TJ',\n", - " 'BT34 2HG',\n", - " 'BT34 1QY',\n", - " 'BT34 5BN',\n", - " 'BT34 5TG',\n", - " 'BT34 2JF',\n", - " 'BT34 3SL',\n", - " 'BT34 1JD',\n", - " 'BT34 2HN',\n", - " 'BT34 3NE',\n", - " 'BT34 4PH',\n", - " 'BT34 5BJ',\n", + " 'BT34 2LR',\n", + " 'BT34 4XT',\n", + " 'BT34 1DX',\n", + " 'BT34 5AP',\n", + " 'BT34 5ER',\n", + " 'BT34 1HY',\n", + " 'BT34 3FW',\n", + " 'BT34 4DU',\n", " 'BT34 1JN',\n", - " 'BT34 1RQ',\n", - " 'BT34 3PU',\n", - " 'BT34 1LQ',\n", - " 'BT34 2RB',\n", - " 'BT34 4SE',\n", - " 'BT34 4ZR',\n", - " 'BT34 3FA',\n", - " 'BT34 2SS',\n", - " 'BT34 1RW',\n", - " 'BT34 5AE',\n", - " 'BT34 5PY',\n", - " 'BT34 2FJ',\n", - " 'BT34 2ES',\n", - " 'BT34 4BD',\n", - " 'BT34 5WB',\n", - " 'BT34 5XX',\n", - " 'BT34 3XW',\n", - " 'BT34 3RS',\n", - " 'BT34 4BG',\n", - " 'BT34 3XU',\n", - " 'BT34 4NE',\n", - " 'BT34 1AW',\n", - " 'BT34 5LU',\n", - " 'BT34 4XN',\n", - " 'BT34 1AG',\n", - " 'BT34 1SF',\n", - " 'BT34 1QB',\n", - " 'BT34 3BT',\n", - " 'BT34 4GA',\n", - " 'BT34 4TX',\n", - " 'BT34 2BP',\n", - " 'BT34 1FG',\n", - " 'BT34 1SU',\n", - " 'BT34 4YF',\n", - " 'BT34 5FF',\n", - " 'BT34 3DJ',\n", - " 'BT34 1PZ',\n", - " 'BT34 2JZ',\n", - " 'BT34 3QE',\n", - " 'BT34 4GN',\n", + " 'BT34 3AF',\n", + " 'BT34 3HJ',\n", + " 'BT34 3SU',\n", + " 'BT34 4LG',\n", + " 'BT34 4EP',\n", + " 'BT34 5QP',\n", + " 'BT34 5DF',\n", + " 'BT34 3PB',\n", + " 'BT34 3RA',\n", + " 'BT34 2JE',\n", + " 'BT34 4HH',\n", + " 'BT34 3JU',\n", + " 'BT34 2PB',\n", + " 'BT34 2JS',\n", " 'BT34 2AX',\n", - " 'BT34 1NA',\n", - " 'BT34 3LT',\n", - " 'BT34 4LU',\n", - " 'BT34 4AH',\n", - " 'BT34 3SA',\n", - " 'BT34 3BQ',\n", - " 'BT34 1DN',\n", - " 'BT34 3TB',\n", - " 'BT34 5EJ',\n", - " 'BT34 3SY',\n", - " 'BT34 2FP',\n", - " 'BT34 2PT',\n", - " 'BT34 2AA',\n", - " 'BT34 4XR',\n", - " 'BT34 2EF',\n", - " 'BT34 2RU',\n", - " 'BT34 5EE',\n", - " 'BT34 2RE',\n", - " 'BT34 1PX',\n", - " 'BT34 5RT',\n", - " 'BT34 4JR',\n", + " 'BT34 4XA',\n", " 'BT34 5TX',\n", - " 'BT34 2AY',\n", - " 'BT34 4JA',\n", - " 'BT34 4DB',\n", - " 'BT34 5UU',\n", - " 'BT34 2NH',\n", - " 'BT34 4EB',\n", - " 'BT34 1LD',\n", - " 'BT34 5QN',\n", - " 'BT34 2BL',\n", - " 'BT34 3US',\n", - " 'BT34 5EH',\n", + " 'BT34 1JE',\n", + " 'BT34 4XP',\n", + " 'BT34 1NN',\n", + " 'BT34 2JG',\n", + " 'BT34 4GA',\n", + " 'BT34 4RQ',\n", + " 'BT34 3LB',\n", + " 'BT34 4DE',\n", + " 'BT34 4JQ',\n", + " 'BT34 2PU',\n", + " 'BT34 1QJ',\n", + " 'BT34 4GF',\n", + " 'BT34 3JW',\n", + " 'BT34 1TP',\n", + " 'BT34 5YJ',\n", + " 'BT34 1HH',\n", + " 'BT34 4AG',\n", + " 'BT34 3QY',\n", + " 'BT34 1RN',\n", + " 'BT34 5UB',\n", + " 'BT34 3TE',\n", + " 'BT34 2PD',\n", + " 'BT34 2EX',\n", + " 'BT34 3PX',\n", + " 'BT34 2QB',\n", + " 'BT34 2TB',\n", + " 'BT34 3PZ',\n", + " 'BT34 3HG',\n", + " 'BT34 5DR',\n", + " 'BT34 3XS',\n", + " 'BT34 3BE',\n", + " 'BT34 3DG',\n", + " 'BT34 4HL',\n", + " 'BT34 4JB',\n", + " 'BT34 3YE',\n", + " 'BT34 2EH',\n", + " 'BT34 3QJ',\n", + " 'BT34 1AF',\n", + " 'BT34 3XW',\n", + " 'BT34 3SQ',\n", + " 'BT34 3QR',\n", + " 'BT34 2FH',\n", + " 'BT34 2GU',\n", + " 'BT34 5FA',\n", + " 'BT34 1EG',\n", + " 'BT34 1HT',\n", + " 'BT34 2TQ',\n", + " 'BT34 2PR',\n", + " 'BT34 4WG',\n", + " 'BT34 5DE',\n", + " 'BT34 2TN',\n", + " 'BT34 2NJ',\n", + " 'BT34 4AW',\n", " 'BT34 2DX',\n", - " 'BT34 2NL',\n", - " 'BT34 1AP',\n", - " 'BT34 3BG',\n", - " 'BT34 3EE',\n", - " 'BT34 4UB',\n", - " 'BT34 1AY',\n", - " 'BT34 1JF',\n", - " 'BT34 4RB',\n", - " 'BT34 4FH',\n", - " 'BT34 2QH',\n", - " 'BT34 2HY',\n", - " 'BT32 3PE',\n", - " 'BT34 2BW',\n", - " 'BT34 3RW',\n", - " 'BT34 4RP',\n", - " 'BT34 3DF',\n", - " 'BT34 5FQ',\n", - " 'BT34 4NJ',\n", - " 'BT34 1HN',\n", - " 'BT34 3QS',\n", - " 'BT34 1EQ',\n", - " 'BT34 4XS',\n", - " 'BT34 2EL',\n", - " 'BT34 2DB',\n", - " 'BT34 4FG',\n", - " 'BT34 1LU',\n", - " 'BT34 1LE',\n", - " 'BT34 4LJ',\n", - " 'BT34 2RY',\n", - " 'BT34 5TZ',\n", - " 'BT34 1UF',\n", - " 'BT34 5FR',\n", + " 'BT34 4EZ',\n", + " 'BT34 4TS',\n", + " 'BT34 2BN',\n", + " 'BT34 5DD',\n", + " 'BT34 1RG',\n", + " 'BT34 4TB',\n", + " 'BT34 4GW',\n", + " 'BT34 3SB',\n", + " 'BT34 3UE',\n", + " 'BT34 5AU',\n", + " 'BT34 1TA',\n", + " 'BT34 3NW',\n", + " 'BT34 5TN',\n", + " 'BT34 2AU',\n", + " 'BT34 3SG',\n", + " 'BT34 2DF',\n", + " 'BT34 4RU',\n", + " 'BT34 4PS',\n", + " 'BT34 2JJ',\n", + " 'BT34 2NP',\n", + " 'BT34 3TU',\n", + " 'BT34 4FB',\n", + " 'BT34 1NE',\n", + " 'BT34 4XG',\n", + " 'BT34 5LT',\n", + " 'BT34 4SD',\n", + " 'BT34 3LQ',\n", + " 'BT34 4TW',\n", + " 'BT34 2JX',\n", + " 'BT34 3LH',\n", + " 'BT34 4UU',\n", + " 'BT34 5ES',\n", + " 'BT34 4WJ',\n", + " 'BT34 2PQ',\n", " 'BT34 1RB',\n", - " 'BT34 1BW',\n", - " 'BT34 4QU',\n", - " 'BT34 5DP',\n", - " 'BT34 4SB',\n", - " 'BT34 3JY',\n", - " 'BT34 4HD',\n", - " 'BT34 5NJ',\n", - " 'BT34 5DT',\n", - " 'BT34 4BN',\n", - " 'BT34 4HU',\n", - " 'BT34 4LH',\n", - " 'BT34 3EG',\n", - " 'BT34 1TH',\n", - " 'BT34 5EQ',\n", - " 'BT34 3TH',\n", - " 'BT34 4TT',\n", - " 'BT34 3TR',\n", - " 'BT34 1LB',\n", - " 'BT34 2JD',\n", - " 'BT34 4YT',\n", - " 'BT34 4UP',\n", - " 'BT34 4UZ',\n", - " 'BT34 4GW',\n", - " 'BT34 3BU',\n", - " 'BT34 4TJ',\n", - " 'BT34 3RL',\n", - " 'BT34 1EE',\n", - " 'BT34 4YS',\n", - " 'BT34 2JQ',\n", - " 'BT34 4HX',\n", - " 'BT34 2QG',\n", - " 'BT34 3BN',\n", - " 'BT34 1ES',\n", - " 'BT34 3UL',\n", - " 'BT34 4HT',\n", - " 'BT34 3LX',\n", - " 'BT34 4NP',\n", + " 'BT34 2HR',\n", + " 'BT34 4QJ',\n", + " 'BT34 3HE',\n", + " 'BT34 1EL',\n", + " 'BT34 3PG',\n", + " 'BT34 3NH',\n", + " 'BT34 3JF',\n", + " 'BT34 4RB',\n", + " 'BT34 4DA',\n", + " 'BT34 3SX',\n", + " 'BT34 4DB',\n", + " 'BT34 5BA',\n", + " 'BT34 4UJ',\n", + " 'BT34 2NG',\n", + " 'BT34 3BQ',\n", + " 'BT34 2QX',\n", + " 'BT34 2FL',\n", + " 'BT34 2GX',\n", + " 'BT34 3UD',\n", + " 'BT34 3TD',\n", + " 'BT34 4JL',\n", + " 'BT34 3LU',\n", " 'BT34 5FB',\n", - " 'BT34 4BB',\n", - " 'BT34 3WL',\n", - " 'BT34 4JF',\n", - " 'BT34 3QJ',\n", - " 'BT34 4RE',\n", - " 'BT34 3RU',\n", - " 'BT34 3TN',\n", - " 'BT34 2AZ',\n", - " 'BT34 4FW',\n", - " 'BT34 5EF',\n", - " 'BT34 2DS',\n", - " 'BT34 4UQ',\n", - " 'BT34 2SE',\n", + " 'BT34 2RU',\n", + " 'BT34 4EN',\n", + " 'BT34 2LY',\n", + " 'BT34 4JX',\n", + " 'BT34 5NA',\n", + " 'BT34 4FH',\n", " 'BT34 2FR',\n", - " 'BT34 4EA',\n", - " 'BT34 4SX',\n", - " 'BT34 2NB',\n", - " 'BT34 3PT',\n", - " 'BT34 4AL',\n", - " 'BT34 4LX',\n", - " 'BT34 3FD',\n", - " 'BT34 5UR',\n", - " 'BT34 2QR',\n", - " 'BT34 3PY',\n", - " 'BT34 3FN',\n", - " 'BT34 1JU',\n", + " 'BT34 5RN',\n", + " 'BT34 1SR',\n", + " 'BT34 1PS',\n", + " 'BT34 4RF',\n", + " 'BT34 2LJ',\n", + " 'BT34 3QG',\n", + " 'BT34 2AP',\n", + " 'BT34 2BT',\n", + " 'BT34 2FP',\n", + " 'BT34 2RR',\n", + " 'BT34 3HP',\n", + " 'BT34 4UP',\n", + " 'BT34 4JE',\n", + " 'BT34 5AY',\n", + " 'BT34 2SL',\n", + " 'BT34 3GZ',\n", + " 'BT34 3WJ',\n", + " 'BT34 5UH',\n", + " 'BT34 1BB',\n", + " 'BT34 1QL',\n", + " 'BT34 2BX',\n", + " 'BT34 1ER',\n", + " 'BT34 3DS',\n", + " 'BT34 4BE',\n", + " 'BT34 4PD',\n", + " 'BT34 2DT',\n", + " 'BT34 4FP',\n", + " 'BT34 1LQ',\n", + " 'BT34 4TG',\n", + " 'BT34 3TT',\n", + " 'BT34 4LE',\n", + " 'BT34 1TJ',\n", + " 'BT34 3RY',\n", + " 'BT34 1SH',\n", + " 'BT34 3YJ',\n", + " 'BT34 2LF',\n", + " 'BT34 5AW',\n", + " 'BT34 1EY',\n", + " 'BT34 2HJ',\n", + " 'BT34 3QZ',\n", + " 'BT34 1NF',\n", + " 'BT34 4YA',\n", + " 'BT34 4RL',\n", + " 'BT34 2NN',\n", + " 'BT34 2FQ',\n", + " 'BT34 2TR',\n", + " 'BT34 1TQ',\n", + " 'BT34 3QL',\n", + " 'BT34 2HU',\n", + " 'BT34 4NR',\n", + " 'BT34 3RZ',\n", + " 'BT34 4GS',\n", + " 'BT34 4GN',\n", + " 'BT34 5FX',\n", + " 'BT34 4UT',\n", + " 'BT34 3EW',\n", + " 'BT34 1AR',\n", + " 'BT34 4NX',\n", + " 'BT34 3UF',\n", + " 'BT34 3QE',\n", + " 'BT34 1EP',\n", + " 'BT34 4ZT',\n", + " 'BT34 2JZ',\n", + " 'BT34 4ZR',\n", + " 'BT34 3UX',\n", + " 'BT34 2HT',\n", + " 'BT34 5EP',\n", + " 'BT34 1RQ',\n", + " 'BT34 4GG',\n", + " 'BT34 4QU',\n", " 'BT34 2QP',\n", - " 'BT34 3XG',\n", - " 'BT34 3PR',\n", - " 'BT34 4NB',\n", - " 'BT34 4ZW',\n", - " 'BT34 2FE',\n", - " 'BT34 5AJ',\n", - " 'BT34 2LP',\n", - " 'BT34 4AW',\n", - " 'BT34 4ZL',\n", - " 'BT34 1TR',\n", - " 'BT34 5TY',\n", - " 'BT34 1RP',\n", - " 'BT34 3QA',\n", - " 'BT34 4RS',\n", - " 'BT34 5QL',\n", - " 'BT34 2HA',\n", - " 'BT34 4EL',\n", - " 'BT34 2GR',\n", - " 'BT34 2BE',\n", - " 'BT34 2FW',\n", - " 'BT34 4UD',\n", - " 'BT34 5AL',\n", - " 'BT34 2TN',\n", - " 'BT34 2GW',\n", - " 'BT34 5UN',\n", + " 'BT34 2QS',\n", + " 'BT34 1JU',\n", + " 'BT34 5XG',\n", + " 'BT34 2PF',\n", + " 'BT34 5FW',\n", + " 'BT34 4FE',\n", + " 'BT34 3TX',\n", + " 'BT34 4US',\n", + " 'BT34 2NS',\n", + " 'BT34 2TF',\n", + " 'BT34 3TW',\n", + " 'BT34 3GD',\n", + " 'BT34 4ZG',\n", + " 'BT34 1HB',\n", + " 'BT34 1AE',\n", + " 'BT34 4UQ',\n", + " 'BT34 4XL',\n", + " 'BT34 5RQ',\n", + " 'BT34 3UH',\n", + " 'BT34 5RF',\n", + " 'BT34 3LP',\n", + " 'BT34 5PU',\n", + " 'BT34 4JJ',\n", + " 'BT34 2PY',\n", + " 'BT34 2RW',\n", + " 'BT34 1PU',\n", + " 'BT34 4PB',\n", + " 'BT34 2HE',\n", + " 'BT34 4LR',\n", " 'BT34 3SJ',\n", - " 'BT34 1SW',\n", - " 'BT34 4YZ',\n", - " 'BT34 1PW',\n", - " 'BT34 3TJ',\n", - " 'BT34 3XJ',\n", - " 'BT34 4ED',\n", - " 'BT34 2TE',\n", - " 'BT34 3JT',\n", - " 'BT34 1QD',\n", + " 'BT34 5QT',\n", + " 'BT34 5TY',\n", + " 'BT34 3FF',\n", + " 'BT34 4FJ',\n", + " 'BT34 4SS',\n", + " 'BT34 5QE',\n", + " 'BT34 5GA',\n", + " 'BT34 5HG',\n", + " 'BT34 5RA',\n", + " 'BT34 4BX',\n", + " 'BT34 4GX',\n", + " 'BT34 1GD',\n", + " 'BT34 2DL',\n", + " 'BT34 3NF',\n", + " 'BT34 5EN',\n", + " 'BT34 4PF',\n", + " 'BT34 5FN',\n", + " 'BT34 5NB',\n", + " 'BT34 5UT',\n", + " 'BT34 2NH',\n", + " 'BT34 3UP',\n", + " 'BT34 4ZU',\n", + " 'BT34 1DY',\n", + " 'BT34 4WE',\n", + " 'BT34 3QS',\n", + " 'BT34 2AD',\n", + " 'BT34 1HU',\n", " 'BT34 1QA',\n", - " 'BT34 1SJ',\n", - " 'BT34 2AS',\n", - " 'BT34 2HZ',\n", - " 'BT34 5UW',\n", - " 'BT34 2PQ',\n", - " 'BT34 3FJ',\n", - " 'BT34 1PY',\n", - " 'BT34 3WJ',\n", - " 'BT34 4TH',\n", - " 'BT34 3QD',\n", - " 'BT34 4TL',\n", + " 'BT34 2JB',\n", + " 'BT34 4DJ',\n", + " 'BT32 3PE',\n", + " 'BT34 2GW',\n", + " 'BT34 2JF',\n", + " 'BT34 5XR',\n", + " 'BT34 1DJ',\n", + " 'BT34 3RQ',\n", + " 'BT34 3TS',\n", + " 'BT34 3AQ',\n", + " 'BT34 3PA',\n", + " 'BT34 2AE',\n", + " 'BT34 4UZ',\n", + " 'BT34 4YN',\n", + " 'BT34 2RF',\n", + " 'BT34 1JP',\n", + " 'BT34 1SS',\n", + " 'BT34 3UG',\n", + " 'BT34 4TY',\n", + " 'BT34 2NY',\n", + " 'BT34 4JD',\n", + " 'BT34 3AS',\n", + " 'BT34 4GU',\n", + " 'BT34 4JR',\n", + " 'BT34 2DP',\n", + " 'BT34 3PY',\n", + " 'BT34 5AD',\n", + " 'BT34 1BA',\n", + " 'BT34 3TB',\n", + " 'BT34 3XQ',\n", + " 'BT34 3BT',\n", + " 'BT34 1GZ',\n", + " 'BT34 1SD',\n", + " 'BT34 1BY',\n", + " 'BT34 1LS',\n", + " 'BT34 3LJ',\n", + " 'BT34 4HD',\n", " ...}" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -2127,9 +2162,16 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "837dee0c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:20.560676Z", + "iopub.status.busy": "2024-04-13T11:25:20.560549Z", + "iopub.status.idle": "2024-04-13T11:25:20.742312Z", + "shell.execute_reply": "2024-04-13T11:25:20.741279Z" + } + }, "outputs": [], "source": [ "data = ni_water.get_water_quality_by_zone('ZS0101')" @@ -2137,9 +2179,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "id": "ab04cad6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:20.747864Z", + "iopub.status.busy": "2024-04-13T11:25:20.747502Z", + "iopub.status.idle": "2024-04-13T11:25:20.752813Z", + "shell.execute_reply": "2024-04-13T11:25:20.752322Z" + } + }, "outputs": [ { "data": { @@ -2151,7 +2200,7 @@ " dtype='object', name=0)" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -2162,9 +2211,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "id": "da26493d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-04-13T11:25:20.756001Z", + "iopub.status.busy": "2024-04-13T11:25:20.755686Z", + "iopub.status.idle": "2024-04-13T11:25:20.763907Z", + "shell.execute_reply": "2024-04-13T11:25:20.763351Z" + } + }, "outputs": [ { "data": { @@ -2174,7 +2230,7 @@ " categories=['Soft', 'Moderately Soft', 'Slightly Hard', 'Moderately Hard'], ordered=True, dtype='category', name='NI Hardness Classification')" ] }, - "execution_count": 11, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -2182,61 +2238,6 @@ "source": [ "df['NI Hardness Classification'].value_counts().keys()" ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "0bdb2d78", - "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "HTTPError.__init__() missing 3 required positional arguments: 'msg', 'hdrs', and 'fp'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[14], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01murllib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01merror\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m HTTPError\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28misinstance\u001b[39m(\u001b[43mHTTPError\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m501\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mheh\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m, \u001b[38;5;167;01mBaseException\u001b[39;00m)\n", - "\u001b[0;31mTypeError\u001b[0m: HTTPError.__init__() missing 3 required positional arguments: 'msg', 'hdrs', and 'fp'" - ] - } - ], - "source": [ - "from urllib.error import HTTPError\n", - "\n", - "isinstance(HTTPError), BaseException)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "f2d1ee31", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Boo!\n" - ] - } - ], - "source": [ - "_error_ = BaseException\n", - "\n", - "try: \n", - " raise ValueError(\"Boo!\")\n", - "except _error_ as e:\n", - " print(e)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5481275f", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -2255,7 +2256,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.13" + "version": "3.10.14" } }, "nbformat": 4, diff --git a/poetry.lock b/poetry.lock index 2d57b6aa..7955a498 100644 --- a/poetry.lock +++ b/poetry.lock @@ -35,13 +35,13 @@ files = [ [[package]] name = "argcomplete" -version = "3.2.2" +version = "3.2.3" description = "Bash tab completion for argparse" optional = false python-versions = ">=3.8" files = [ - {file = "argcomplete-3.2.2-py3-none-any.whl", hash = "sha256:e44f4e7985883ab3e73a103ef0acd27299dbfe2dfed00142c35d4ddd3005901d"}, - {file = "argcomplete-3.2.2.tar.gz", hash = "sha256:f3e49e8ea59b4026ee29548e24488af46e30c9de57d48638e24f54a1ea1000a2"}, + {file = "argcomplete-3.2.3-py3-none-any.whl", hash = "sha256:c12355e0494c76a2a7b73e3a59b09024ca0ba1e279fb9ed6c1b82d5b74b6a70c"}, + {file = "argcomplete-3.2.3.tar.gz", hash = "sha256:bf7900329262e481be5a15f56f19736b376df6f82ed27576fa893652c5de6c23"}, ] [package.extras] @@ -49,13 +49,13 @@ test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] [[package]] name = "astroid" -version = "3.0.3" +version = "3.1.0" description = "An abstract syntax tree for Python with inference support." optional = true python-versions = ">=3.8.0" files = [ - {file = "astroid-3.0.3-py3-none-any.whl", hash = "sha256:92fcf218b89f449cdf9f7b39a269f8d5d617b27be68434912e11e79203963a17"}, - {file = "astroid-3.0.3.tar.gz", hash = "sha256:4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93"}, + {file = "astroid-3.1.0-py3-none-any.whl", hash = "sha256:951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819"}, + {file = "astroid-3.1.0.tar.gz", hash = "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"}, ] [package.dependencies] @@ -139,6 +139,21 @@ files = [ {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] +[[package]] +name = "backports-tarfile" +version = "1.0.0" +description = "Backport of CPython tarfile module" +optional = false +python-versions = ">=3.8" +files = [ + {file = "backports.tarfile-1.0.0-py3-none-any.whl", hash = "sha256:bcd36290d9684beb524d3fe74f4a2db056824c47746583f090b8e55daf0776e4"}, + {file = "backports.tarfile-1.0.0.tar.gz", hash = "sha256:2688f159c21afd56a07b75f01306f9f52c79aebcc5f4a117fb8fbb4445352c75"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)"] + [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -180,17 +195,17 @@ css = ["tinycss2 (>=1.1.0,<1.3)"] [[package]] name = "boto3" -version = "1.34.83" +version = "1.34.84" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.34.83-py3-none-any.whl", hash = "sha256:33cf93f6de5176f1188c923f4de1ae149ed723b89ed12e434f2b2f628491769e"}, - {file = "boto3-1.34.83.tar.gz", hash = "sha256:9733ce811bd82feab506ad9309e375a79cabe8c6149061971c17754ce8997551"}, + {file = "boto3-1.34.84-py3-none-any.whl", hash = "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04"}, + {file = "boto3-1.34.84.tar.gz", hash = "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b"}, ] [package.dependencies] -botocore = ">=1.34.83,<1.35.0" +botocore = ">=1.34.84,<1.35.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -199,13 +214,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.34.83" +version = "1.34.84" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.34.83-py3-none-any.whl", hash = "sha256:0a3fbbe018416aeefa8978454fb0b8129adbaf556647b72269bf02e4bf1f4161"}, - {file = "botocore-1.34.83.tar.gz", hash = "sha256:0f302aa76283d4df62b4fbb6d3d20115c1a8957fc02171257fc93904d69d5636"}, + {file = "botocore-1.34.84-py3-none-any.whl", hash = "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb"}, + {file = "botocore-1.34.84.tar.gz", hash = "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6"}, ] [package.dependencies] @@ -246,13 +261,13 @@ files = [ [[package]] name = "cachetools" -version = "5.3.2" +version = "5.3.3" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, - {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, + {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, + {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, ] [[package]] @@ -523,13 +538,13 @@ development = ["black", "flake8", "mypy", "pytest", "types-colorama"] [[package]] name = "comm" -version = "0.2.1" +version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" files = [ - {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"}, - {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"}, + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, ] [package.dependencies] @@ -607,43 +622,43 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "42.0.4" +version = "42.0.5" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-42.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:ffc73996c4fca3d2b6c1c8c12bfd3ad00def8621da24f547626bf06441400449"}, - {file = "cryptography-42.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:db4b65b02f59035037fde0998974d84244a64c3265bdef32a827ab9b63d61b18"}, - {file = "cryptography-42.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad9c385ba8ee025bb0d856714f71d7840020fe176ae0229de618f14dae7a6e2"}, - {file = "cryptography-42.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69b22ab6506a3fe483d67d1ed878e1602bdd5912a134e6202c1ec672233241c1"}, - {file = "cryptography-42.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e09469a2cec88fb7b078e16d4adec594414397e8879a4341c6ace96013463d5b"}, - {file = "cryptography-42.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3e970a2119507d0b104f0a8e281521ad28fc26f2820687b3436b8c9a5fcf20d1"}, - {file = "cryptography-42.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:e53dc41cda40b248ebc40b83b31516487f7db95ab8ceac1f042626bc43a2f992"}, - {file = "cryptography-42.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:c3a5cbc620e1e17009f30dd34cb0d85c987afd21c41a74352d1719be33380885"}, - {file = "cryptography-42.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6bfadd884e7280df24d26f2186e4e07556a05d37393b0f220a840b083dc6a824"}, - {file = "cryptography-42.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:01911714117642a3f1792c7f376db572aadadbafcd8d75bb527166009c9f1d1b"}, - {file = "cryptography-42.0.4-cp37-abi3-win32.whl", hash = "sha256:fb0cef872d8193e487fc6bdb08559c3aa41b659a7d9be48b2e10747f47863925"}, - {file = "cryptography-42.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c1f25b252d2c87088abc8bbc4f1ecbf7c919e05508a7e8628e6875c40bc70923"}, - {file = "cryptography-42.0.4-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:15a1fb843c48b4a604663fa30af60818cd28f895572386e5f9b8a665874c26e7"}, - {file = "cryptography-42.0.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1327f280c824ff7885bdeef8578f74690e9079267c1c8bd7dc5cc5aa065ae52"}, - {file = "cryptography-42.0.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ffb03d419edcab93b4b19c22ee80c007fb2d708429cecebf1dd3258956a563a"}, - {file = "cryptography-42.0.4-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1df6fcbf60560d2113b5ed90f072dc0b108d64750d4cbd46a21ec882c7aefce9"}, - {file = "cryptography-42.0.4-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:44a64043f743485925d3bcac548d05df0f9bb445c5fcca6681889c7c3ab12764"}, - {file = "cryptography-42.0.4-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:3c6048f217533d89f2f8f4f0fe3044bf0b2090453b7b73d0b77db47b80af8dff"}, - {file = "cryptography-42.0.4-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6d0fbe73728c44ca3a241eff9aefe6496ab2656d6e7a4ea2459865f2e8613257"}, - {file = "cryptography-42.0.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:887623fe0d70f48ab3f5e4dbf234986b1329a64c066d719432d0698522749929"}, - {file = "cryptography-42.0.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ce8613beaffc7c14f091497346ef117c1798c202b01153a8cc7b8e2ebaaf41c0"}, - {file = "cryptography-42.0.4-cp39-abi3-win32.whl", hash = "sha256:810bcf151caefc03e51a3d61e53335cd5c7316c0a105cc695f0959f2c638b129"}, - {file = "cryptography-42.0.4-cp39-abi3-win_amd64.whl", hash = "sha256:a0298bdc6e98ca21382afe914c642620370ce0470a01e1bef6dd9b5354c36854"}, - {file = "cryptography-42.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f8907fcf57392cd917892ae83708761c6ff3c37a8e835d7246ff0ad251d9298"}, - {file = "cryptography-42.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:12d341bd42cdb7d4937b0cabbdf2a94f949413ac4504904d0cdbdce4a22cbf88"}, - {file = "cryptography-42.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1cdcdbd117681c88d717437ada72bdd5be9de117f96e3f4d50dab3f59fd9ab20"}, - {file = "cryptography-42.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0e89f7b84f421c56e7ff69f11c441ebda73b8a8e6488d322ef71746224c20fce"}, - {file = "cryptography-42.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f1e85a178384bf19e36779d91ff35c7617c885da487d689b05c1366f9933ad74"}, - {file = "cryptography-42.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d2a27aca5597c8a71abbe10209184e1a8e91c1fd470b5070a2ea60cafec35bcd"}, - {file = "cryptography-42.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4e36685cb634af55e0677d435d425043967ac2f3790ec652b2b88ad03b85c27b"}, - {file = "cryptography-42.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f47be41843200f7faec0683ad751e5ef11b9a56a220d57f300376cd8aba81660"}, - {file = "cryptography-42.0.4.tar.gz", hash = "sha256:831a4b37accef30cccd34fcb916a5d7b5be3cbbe27268a02832c3e450aea39cb"}, + {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16"}, + {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da"}, + {file = "cryptography-42.0.5-cp37-abi3-win32.whl", hash = "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74"}, + {file = "cryptography-42.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940"}, + {file = "cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30"}, + {file = "cryptography-42.0.5-cp39-abi3-win32.whl", hash = "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413"}, + {file = "cryptography-42.0.5-cp39-abi3-win_amd64.whl", hash = "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd"}, + {file = "cryptography-42.0.5.tar.gz", hash = "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1"}, ] [package.dependencies] @@ -777,7 +792,7 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth name = "fastjsonschema" version = "2.19.1" description = "Fastest Python implementation of JSON schema" -optional = true +optional = false python-versions = "*" files = [ {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"}, @@ -789,18 +804,18 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.13.1" +version = "3.13.4" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, - {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, + {file = "filelock-3.13.4-py3-none-any.whl", hash = "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f"}, + {file = "filelock-3.13.4.tar.gz", hash = "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] typing = ["typing-extensions (>=4.8)"] [[package]] @@ -858,32 +873,32 @@ files = [ [[package]] name = "importlib-metadata" -version = "7.0.1" +version = "7.1.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"}, - {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"}, + {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"}, + {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] [[package]] name = "importlib-resources" -version = "6.1.1" +version = "6.4.0" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.1.1-py3-none-any.whl", hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6"}, - {file = "importlib_resources-6.1.1.tar.gz", hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a"}, + {file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"}, + {file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"}, ] [package.dependencies] @@ -891,7 +906,7 @@ zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff", "zipp (>=3.17)"] +testing = ["jaraco.test (>=5.4)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] [[package]] name = "iniconfig" @@ -978,22 +993,58 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa [[package]] name = "jaraco-classes" -version = "3.3.1" +version = "3.4.0" description = "Utility functions for Python class constructs" optional = false python-versions = ">=3.8" files = [ - {file = "jaraco.classes-3.3.1-py3-none-any.whl", hash = "sha256:86b534de565381f6b3c1c830d13f931d7be1a75f0081c57dff615578676e2206"}, - {file = "jaraco.classes-3.3.1.tar.gz", hash = "sha256:cb28a5ebda8bc47d8c8015307d93163464f9f2b91ab4006e09ff0ce07e8bfb30"}, + {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, + {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, ] [package.dependencies] more-itertools = "*" [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +[[package]] +name = "jaraco-context" +version = "5.3.0" +description = "Useful decorators and context managers" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jaraco.context-5.3.0-py3-none-any.whl", hash = "sha256:3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266"}, + {file = "jaraco.context-5.3.0.tar.gz", hash = "sha256:c2f67165ce1f9be20f32f650f25d8edfc1646a8aeee48ae06fb35f90763576d2"}, +] + +[package.dependencies] +"backports.tarfile" = {version = "*", markers = "python_version < \"3.12\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["portend", "pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] + +[[package]] +name = "jaraco-functools" +version = "4.0.0" +description = "Functools like those found in stdlib" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jaraco.functools-4.0.0-py3-none-any.whl", hash = "sha256:daf276ddf234bea897ef14f43c4e1bf9eefeac7b7a82a4dd69228ac20acff68d"}, + {file = "jaraco.functools-4.0.0.tar.gz", hash = "sha256:c279cb24c93d694ef7270f970d499cab4d3813f4e08273f95398651a634f0925"}, +] + +[package.dependencies] +more-itertools = "*" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["jaraco.classes", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + [[package]] name = "jedi" version = "0.19.1" @@ -1060,7 +1111,7 @@ files = [ name = "jsonschema" version = "4.21.1" description = "An implementation of JSON Schema validation for Python" -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, @@ -1083,7 +1134,7 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2023.12.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, @@ -1096,13 +1147,13 @@ referencing = ">=0.31.0" [[package]] name = "jupyter-client" -version = "8.6.0" +version = "8.6.1" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_client-8.6.0-py3-none-any.whl", hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99"}, - {file = "jupyter_client-8.6.0.tar.gz", hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7"}, + {file = "jupyter_client-8.6.1-py3-none-any.whl", hash = "sha256:3b7bd22f058434e3b9a7ea4b1500ed47de2713872288c0d511d19926f99b459f"}, + {file = "jupyter_client-8.6.1.tar.gz", hash = "sha256:e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f"}, ] [package.dependencies] @@ -1119,13 +1170,13 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt [[package]] name = "jupyter-core" -version = "5.7.1" +version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"}, - {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"}, + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, ] [package.dependencies] @@ -1135,7 +1186,7 @@ traitlets = ">=5.3" [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] -test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] +test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyterlab-pygments" @@ -1150,27 +1201,29 @@ files = [ [[package]] name = "keyring" -version = "24.3.0" +version = "25.1.0" description = "Store and access your passwords safely." optional = false python-versions = ">=3.8" files = [ - {file = "keyring-24.3.0-py3-none-any.whl", hash = "sha256:4446d35d636e6a10b8bce7caa66913dd9eca5fd222ca03a3d42c38608ac30836"}, - {file = "keyring-24.3.0.tar.gz", hash = "sha256:e730ecffd309658a08ee82535a3b5ec4b4c8669a9be11efb66249d8e0aeb9a25"}, + {file = "keyring-25.1.0-py3-none-any.whl", hash = "sha256:26fc12e6a329d61d24aa47b22a7c5c3f35753df7d8f2860973cf94f4e1fb3427"}, + {file = "keyring-25.1.0.tar.gz", hash = "sha256:7230ea690525133f6ad536a9b5def74a4bd52642abe594761028fc044d7c7893"}, ] [package.dependencies] importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} importlib-resources = {version = "*", markers = "python_version < \"3.9\""} "jaraco.classes" = "*" +"jaraco.context" = "*" +"jaraco.functools" = "*" jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""} pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""} SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] completion = ["shtab (>=1.1.0)"] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["pytest (>=6,!=8.1.1)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [[package]] name = "lxml" @@ -1496,35 +1549,34 @@ files = [ [[package]] name = "nbclient" -version = "0.9.0" +version = "0.6.8" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." -optional = true -python-versions = ">=3.8.0" +optional = false +python-versions = ">=3.7.0" files = [ - {file = "nbclient-0.9.0-py3-none-any.whl", hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15"}, - {file = "nbclient-0.9.0.tar.gz", hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e"}, + {file = "nbclient-0.6.8-py3-none-any.whl", hash = "sha256:7cce8b415888539180535953f80ea2385cdbb444944cdeb73ffac1556fdbc228"}, + {file = "nbclient-0.6.8.tar.gz", hash = "sha256:268fde3457cafe1539e32eb1c6d796bbedb90b9e92bacd3e43d83413734bb0e8"}, ] [package.dependencies] -jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -nbformat = ">=5.1" -traitlets = ">=5.4" +jupyter-client = ">=6.1.5" +nbformat = ">=5.0" +nest-asyncio = "*" +traitlets = ">=5.2.2" [package.extras] -dev = ["pre-commit"] -docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] -test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] +sphinx = ["Sphinx (>=1.7)", "autodoc-traits", "mock", "moto", "myst-parser", "sphinx-book-theme"] +test = ["black", "check-manifest", "flake8", "ipykernel", "ipython", "ipywidgets", "mypy", "nbconvert", "pip (>=18.1)", "pre-commit", "pytest (>=4.1)", "pytest-asyncio", "pytest-cov (>=2.6.1)", "setuptools (>=60.0)", "testpath", "twine (>=1.11.0)", "xmltodict"] [[package]] name = "nbconvert" -version = "7.16.1" +version = "7.16.3" description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." optional = true python-versions = ">=3.8" files = [ - {file = "nbconvert-7.16.1-py3-none-any.whl", hash = "sha256:3188727dffadfdc9c6a1c7250729063d7bc78b355ad7aa023138afa030d1cd07"}, - {file = "nbconvert-7.16.1.tar.gz", hash = "sha256:e79e6a074f49ba3ed29428ed86487bf51509d9aab613bd8522ac08f6d28fd7fd"}, + {file = "nbconvert-7.16.3-py3-none-any.whl", hash = "sha256:ddeff14beeeedf3dd0bc506623e41e4507e551736de59df69a91f86700292b3b"}, + {file = "nbconvert-7.16.3.tar.gz", hash = "sha256:a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142"}, ] [package.dependencies] @@ -1551,30 +1603,48 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp qtpdf = ["nbconvert[qtpng]"] qtpng = ["pyqtwebengine (>=5.15)"] serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] webpdf = ["playwright"] [[package]] name = "nbformat" -version = "5.9.2" +version = "5.10.4" description = "The Jupyter Notebook format" -optional = true +optional = false python-versions = ">=3.8" files = [ - {file = "nbformat-5.9.2-py3-none-any.whl", hash = "sha256:1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9"}, - {file = "nbformat-5.9.2.tar.gz", hash = "sha256:5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192"}, + {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, + {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, ] [package.dependencies] -fastjsonschema = "*" +fastjsonschema = ">=2.15" jsonschema = ">=2.6" -jupyter-core = "*" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" traitlets = ">=5.1" [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] test = ["pep440", "pre-commit", "pytest", "testpath"] +[[package]] +name = "nbmake" +version = "1.5.3" +description = "Pytest plugin for testing notebooks" +optional = false +python-versions = ">=3.8.0,<4.0.0" +files = [ + {file = "nbmake-1.5.3-py3-none-any.whl", hash = "sha256:6cfa2b926d335e9c6dce7e8543d01b2398b0a56c03131c5c0bce2b1722116212"}, + {file = "nbmake-1.5.3.tar.gz", hash = "sha256:0b76b829e8b128eb1895539bacf515a1ee85e5b7b492cdfe76e3a12f804e069e"}, +] + +[package.dependencies] +ipykernel = ">=5.4.0" +nbclient = ">=0.6.6,<0.7.0" +nbformat = ">=5.0.8,<6.0.0" +Pygments = ">=2.7.3,<3.0.0" +pytest = ">=6.1.0" + [[package]] name = "nbsphinx" version = "0.9.3" @@ -1607,27 +1677,27 @@ files = [ [[package]] name = "nh3" -version = "0.2.15" +version = "0.2.17" description = "Python bindings to the ammonia HTML sanitization library." optional = false python-versions = "*" files = [ - {file = "nh3-0.2.15-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:9c0d415f6b7f2338f93035bba5c0d8c1b464e538bfbb1d598acd47d7969284f0"}, - {file = "nh3-0.2.15-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:6f42f99f0cf6312e470b6c09e04da31f9abaadcd3eb591d7d1a88ea931dca7f3"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac19c0d68cd42ecd7ead91a3a032fdfff23d29302dbb1311e641a130dfefba97"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0d77272ce6d34db6c87b4f894f037d55183d9518f948bba236fe81e2bb4e28"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:8d595df02413aa38586c24811237e95937ef18304e108b7e92c890a06793e3bf"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86e447a63ca0b16318deb62498db4f76fc60699ce0a1231262880b38b6cff911"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3277481293b868b2715907310c7be0f1b9d10491d5adf9fce11756a97e97eddf"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60684857cfa8fdbb74daa867e5cad3f0c9789415aba660614fe16cd66cbb9ec7"}, - {file = "nh3-0.2.15-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3b803a5875e7234907f7d64777dfde2b93db992376f3d6d7af7f3bc347deb305"}, - {file = "nh3-0.2.15-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0d02d0ff79dfd8208ed25a39c12cbda092388fff7f1662466e27d97ad011b770"}, - {file = "nh3-0.2.15-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:f3b53ba93bb7725acab1e030bc2ecd012a817040fd7851b332f86e2f9bb98dc6"}, - {file = "nh3-0.2.15-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:b1e97221cedaf15a54f5243f2c5894bb12ca951ae4ddfd02a9d4ea9df9e1a29d"}, - {file = "nh3-0.2.15-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a5167a6403d19c515217b6bcaaa9be420974a6ac30e0da9e84d4fc67a5d474c5"}, - {file = "nh3-0.2.15-cp37-abi3-win32.whl", hash = "sha256:427fecbb1031db085eaac9931362adf4a796428ef0163070c484b5a768e71601"}, - {file = "nh3-0.2.15-cp37-abi3-win_amd64.whl", hash = "sha256:bc2d086fb540d0fa52ce35afaded4ea526b8fc4d3339f783db55c95de40ef02e"}, - {file = "nh3-0.2.15.tar.gz", hash = "sha256:d1e30ff2d8d58fb2a14961f7aac1bbb1c51f9bdd7da727be35c63826060b0bf3"}, + {file = "nh3-0.2.17-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:551672fd71d06cd828e282abdb810d1be24e1abb7ae2543a8fa36a71c1006fe9"}, + {file = "nh3-0.2.17-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c551eb2a3876e8ff2ac63dff1585236ed5dfec5ffd82216a7a174f7c5082a78a"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:66f17d78826096291bd264f260213d2b3905e3c7fae6dfc5337d49429f1dc9f3"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0316c25b76289cf23be6b66c77d3608a4fdf537b35426280032f432f14291b9a"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:22c26e20acbb253a5bdd33d432a326d18508a910e4dcf9a3316179860d53345a"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:85cdbcca8ef10733bd31f931956f7fbb85145a4d11ab9e6742bbf44d88b7e351"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:40015514022af31975c0b3bca4014634fa13cb5dc4dbcbc00570acc781316dcc"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ba73a2f8d3a1b966e9cdba7b211779ad8a2561d2dba9674b8a19ed817923f65f"}, + {file = "nh3-0.2.17-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c21bac1a7245cbd88c0b0e4a420221b7bfa838a2814ee5bb924e9c2f10a1120b"}, + {file = "nh3-0.2.17-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d7a25fd8c86657f5d9d576268e3b3767c5cd4f42867c9383618be8517f0f022a"}, + {file = "nh3-0.2.17-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:c790769152308421283679a142dbdb3d1c46c79c823008ecea8e8141db1a2062"}, + {file = "nh3-0.2.17-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:b4427ef0d2dfdec10b641ed0bdaf17957eb625b2ec0ea9329b3d28806c153d71"}, + {file = "nh3-0.2.17-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a3f55fabe29164ba6026b5ad5c3151c314d136fd67415a17660b4aaddacf1b10"}, + {file = "nh3-0.2.17-cp37-abi3-win32.whl", hash = "sha256:1a814dd7bba1cb0aba5bcb9bebcc88fd801b63e21e2450ae6c52d3b3336bc911"}, + {file = "nh3-0.2.17-cp37-abi3-win_amd64.whl", hash = "sha256:1aa52a7def528297f256de0844e8dd680ee279e79583c76d6fa73a978186ddfb"}, + {file = "nh3-0.2.17.tar.gz", hash = "sha256:40d0741a19c3d645e54efba71cb0d8c475b59135c1e3c580f879ad5514cbf028"}, ] [[package]] @@ -1720,13 +1790,13 @@ et-xmlfile = "*" [[package]] name = "packaging" -version = "23.2" +version = "24.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, ] [[package]] @@ -1766,8 +1836,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -1809,18 +1879,18 @@ files = [ [[package]] name = "parso" -version = "0.8.3" +version = "0.8.4" description = "A Python Parser" optional = false python-versions = ">=3.6" files = [ - {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, - {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, + {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, + {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, ] [package.extras] -qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] -testing = ["docopt", "pytest (<6.0.0)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["docopt", "pytest"] [[package]] name = "pbr" @@ -1871,23 +1941,23 @@ files = [ [[package]] name = "pkginfo" -version = "1.9.6" +version = "1.10.0" description = "Query metadata from sdists / bdists / installed packages." optional = false python-versions = ">=3.6" files = [ - {file = "pkginfo-1.9.6-py3-none-any.whl", hash = "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546"}, - {file = "pkginfo-1.9.6.tar.gz", hash = "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046"}, + {file = "pkginfo-1.10.0-py3-none-any.whl", hash = "sha256:889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097"}, + {file = "pkginfo-1.10.0.tar.gz", hash = "sha256:5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297"}, ] [package.extras] -testing = ["pytest", "pytest-cov"] +testing = ["pytest", "pytest-cov", "wheel"] [[package]] name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." -optional = true +optional = false python-versions = ">=3.6" files = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, @@ -2085,13 +2155,13 @@ files = [ [[package]] name = "pycparser" -version = "2.21" +version = "2.22" description = "C parser in Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] [[package]] @@ -2181,13 +2251,13 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -2405,13 +2475,13 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} [[package]] name = "readme-renderer" -version = "42.0" +version = "43.0" description = "readme_renderer is a library for rendering readme descriptions for Warehouse" optional = false python-versions = ">=3.8" files = [ - {file = "readme_renderer-42.0-py3-none-any.whl", hash = "sha256:13d039515c1f24de668e2c93f2e877b9dbe6c6c32328b90a40a49d8b2b85f36d"}, - {file = "readme_renderer-42.0.tar.gz", hash = "sha256:2d55489f83be4992fe4454939d1a051c33edbab778e82761d060c9fc6b308cd1"}, + {file = "readme_renderer-43.0-py3-none-any.whl", hash = "sha256:19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9"}, + {file = "readme_renderer-43.0.tar.gz", hash = "sha256:1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311"}, ] [package.dependencies] @@ -2424,13 +2494,13 @@ md = ["cmarkgfm (>=0.8.0)"] [[package]] name = "referencing" -version = "0.33.0" +version = "0.34.0" description = "JSON Referencing + Python" -optional = true +optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, - {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, + {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"}, + {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"}, ] [package.dependencies] @@ -2518,13 +2588,13 @@ idna2008 = ["idna"] [[package]] name = "rich" -version = "13.7.0" +version = "13.7.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.7.0" files = [ - {file = "rich-13.7.0-py3-none-any.whl", hash = "sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235"}, - {file = "rich-13.7.0.tar.gz", hash = "sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"}, + {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"}, + {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"}, ] [package.dependencies] @@ -2539,7 +2609,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rpds-py" version = "0.18.0" description = "Python bindings to Rust's persistent data structures (rpds)" -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, @@ -2645,13 +2715,13 @@ files = [ [[package]] name = "s3transfer" -version = "0.10.0" +version = "0.10.1" description = "An Amazon S3 Transfer Manager" optional = false python-versions = ">= 3.8" files = [ - {file = "s3transfer-0.10.0-py3-none-any.whl", hash = "sha256:3cdb40f5cfa6966e812209d0994f2a4709b561c88e90cf00c2696d2df4e56b2e"}, - {file = "s3transfer-0.10.0.tar.gz", hash = "sha256:d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b"}, + {file = "s3transfer-0.10.1-py3-none-any.whl", hash = "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"}, + {file = "s3transfer-0.10.1.tar.gz", hash = "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19"}, ] [package.dependencies] @@ -2715,13 +2785,13 @@ jeepney = ">=0.6" [[package]] name = "setuptools" -version = "69.4.0" +version = "69.5.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.4.0-py3-none-any.whl", hash = "sha256:b6df12d754b505e4ca283c61582d5578db83ae2f56a979b3bc9a8754705ae3bf"}, - {file = "setuptools-69.4.tar.gz", hash = "sha256:659e902e587e77fab8212358f5b03977b5f0d18d4724310d4a093929fee4ca1a"}, + {file = "setuptools-69.5.1-py3-none-any.whl", hash = "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"}, + {file = "setuptools-69.5.1.tar.gz", hash = "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987"}, ] [package.extras] @@ -3074,13 +3144,13 @@ files = [ [[package]] name = "tomlkit" -version = "0.12.3" +version = "0.12.4" description = "Style preserving TOML library" optional = false python-versions = ">=3.7" files = [ - {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"}, - {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"}, + {file = "tomlkit-0.12.4-py3-none-any.whl", hash = "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b"}, + {file = "tomlkit-0.12.4.tar.gz", hash = "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"}, ] [[package]] @@ -3152,18 +3222,18 @@ telegram = ["requests"] [[package]] name = "traitlets" -version = "5.14.1" +version = "5.14.2" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"}, - {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"}, + {file = "traitlets-5.14.2-py3-none-any.whl", hash = "sha256:fcdf85684a772ddeba87db2f398ce00b40ff550d1528c03c14dbf6a02003cd80"}, + {file = "traitlets-5.14.2.tar.gz", hash = "sha256:8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.1)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "twine" @@ -3189,13 +3259,13 @@ urllib3 = ">=1.26.0" [[package]] name = "typing-extensions" -version = "4.9.0" +version = "4.11.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, + {file = "typing_extensions-4.11.0-py3-none-any.whl", hash = "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"}, + {file = "typing_extensions-4.11.0.tar.gz", hash = "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"}, ] [[package]] @@ -3241,13 +3311,13 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "virtualenv" -version = "20.25.0" +version = "20.25.1" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.25.0-py3-none-any.whl", hash = "sha256:4238949c5ffe6876362d9c0180fc6c3a824a7b12b80604eeb8085f2ed7460de3"}, - {file = "virtualenv-20.25.0.tar.gz", hash = "sha256:bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b"}, + {file = "virtualenv-20.25.1-py3-none-any.whl", hash = "sha256:961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a"}, + {file = "virtualenv-20.25.1.tar.gz", hash = "sha256:e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197"}, ] [package.dependencies] @@ -3354,23 +3424,23 @@ test = ["pytest", "pytest-cov"] [[package]] name = "zipp" -version = "3.17.0" +version = "3.18.1" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, - {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, + {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, + {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [extras] docs = ["Sphinx", "autoapi", "nbsphinx", "sphinx-autoapi", "sphinx-autodoc-typehints", "sphinx-click", "sphinx-github-changelog", "sphinx-issues", "sphinx-rtd-theme", "sphinxcontrib-apidoc"] [metadata] lock-version = "2.0" -python-versions = ">=3.8.0,<=3.11" -content-hash = "61c0dd3b7cd2eb3131ef17972031505dea756aa64ec2c396361f497edf26294b" +python-versions = ">=3.8.0,<3.12" +content-hash = "4d0527bbe4737dd087e4a55dfdaf6a0e0118c92caa4002323aaca6f44f3314a9" diff --git a/pyproject.toml b/pyproject.toml index b7801623..23688109 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ classifiers = [ ] [tool.poetry.dependencies] -python = ">=3.8.0,<=3.11" +python = ">=3.8.0,<3.12" click = "^8.0.1" click-log = ">=0.3.2,<0.5.0" psycopg2-binary = "^2.9.1" @@ -79,6 +79,7 @@ docs = ["Sphinx", "sphinx-click", "sphinx-issues", "nbsphinx", "sphinx-rtd-theme [tool.poetry.group.dev.dependencies] ipykernel = "^6.29.2" +nbmake = "^1.5.3" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/src/bolster/data_sources/ni_water.py b/src/bolster/data_sources/ni_water.py index ba2240c8..aef64e69 100644 --- a/src/bolster/data_sources/ni_water.py +++ b/src/bolster/data_sources/ni_water.py @@ -23,6 +23,7 @@ ) +@backoff((HTTPError, RuntimeError)) def get_postcode_to_water_supply_zone() -> Dict[str, str]: """ Using data from OpenDataNI to generate a map from NI Postcodes to Water Supply Zone @@ -50,6 +51,8 @@ def get_postcode_to_water_supply_zone() -> Dict[str, str]: reader = csv.DictReader(lines) keys = reader.fieldnames[:2] # Take POSTCODE and first year zones = dict(([row[k] for k in keys] for row in reader)) + if not zones: + raise RuntimeError("No data found") return zones