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