diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 0fb8b0e..270748b 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] - python-version: ['3.9', '3.12'] + python-version: ['3.10', '3.12'] steps: - name: Checkout code diff --git a/.gitignore b/.gitignore index 9ed64b7..3ac9f7a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ __marimo__/ **/log **/tmp **/temp +examples/**/raw/ +examples/**/cleaned/ # SQLite Databases *.sqlite diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..c8cfe39 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.10 diff --git a/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb b/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb deleted file mode 100644 index 401568a..0000000 --- a/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.ipynb +++ /dev/null @@ -1,5491 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "acaf0d6b", - "metadata": {}, - "outputs": [], - "source": [ - "! pip install bedrock-ge folium mapclassify marimo --quiet" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "Hbol", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Windows\n", - "3.9.20 (main, Sep 9 2024, 20:47:28) [MSC v.1929 64 bit (AMD64)]\n", - "c:\\Users\\joost\\ReposWindows\\bedrock-ge\\.venv\\Scripts\\python.exe\n" - ] - } - ], - "source": [ - "import io\n", - "import platform\n", - "import sys\n", - "import zipfile\n", - "\n", - "import chardet\n", - "import geopandas as gpd\n", - "import marimo as mo\n", - "import pandas as pd\n", - "import requests\n", - "from pyproj import CRS\n", - "\n", - "from bedrock_ge.gi.ags.read import ags_to_dfs\n", - "from bedrock_ge.gi.ags.transform import ags3_db_to_no_gis_brgi_db\n", - "from bedrock_ge.gi.concatenate import concatenate_databases\n", - "from bedrock_ge.gi.gis_geometry import calculate_gis_geometry\n", - "from bedrock_ge.gi.validate import check_brgi_database, check_no_gis_brgi_database\n", - "from bedrock_ge.gi.write import write_gi_db_to_gpkg\n", - "\n", - "print(platform.system())\n", - "print(sys.version)\n", - "print(sys.executable)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "MJUe", - "metadata": {}, - "outputs": [], - "source": [ - "def zip_of_ags3s_to_bedrock_gi_database(zip, crs):\n", - " \"\"\"Read AGS 3 files from a ZIP archive and convert them to a dictionary of pandas dataframes.\"\"\"\n", - " brgi_db = {}\n", - " with zipfile.ZipFile(zip) as zip_ref:\n", - " # Iterate over files and directories in the .zip archive\n", - " for file_name in zip_ref.namelist():\n", - " # Only process files that have an .ags or .AGS extension\n", - " if file_name.lower().endswith(\".ags\"):\n", - " print(f\"\\nπŸ–₯️ Processing {file_name} ...\")\n", - " with zip_ref.open(file_name) as ags3_file:\n", - " ags3_data = ags3_file.read()\n", - " detected_encoding = chardet.detect(ags3_data)[\"encoding\"]\n", - " ags3_data = ags3_data.decode(detected_encoding)\n", - " # Convert content of a single AGS 3 file to a Dictionary of pandas dataframes (a database)\n", - " ags3_db = ags_to_dfs(ags3_data)\n", - " report_no = file_name.split(\"/\")[0]\n", - " ags3_db[\"PROJ\"][\"REPORT_NO\"] = int(report_no)\n", - " project_uid = f\"{ags3_db['PROJ']['PROJ_ID'].iloc[0]}_{file_name}\"\n", - " ags3_db[\"PROJ\"][\"project_uid\"] = project_uid\n", - " # Remove (Static) CPT AGS 3 group 'STCN' from brgi_db, because CPT data processing needs to be reviewed.\n", - " # Not efficient to create a GIS point for every point where a CPT measures a value.\n", - " if \"STCN\" in ags3_db.keys():\n", - " del ags3_db[\"STCN\"]\n", - " # Create GI data tables with bedrock-ge names and add columns (project_uid, location_uid, sample_uid),\n", - " # such that data from multiple AGS files can be combined\n", - " brgi_db_from_1_ags3_file = ags3_db_to_no_gis_brgi_db(ags3_db, crs)\n", - " print(\n", - " f\"🧐 Validating the Bedrock GI database from AGS file {file_name}...\"\n", - " )\n", - " check_no_gis_brgi_database(brgi_db_from_1_ags3_file)\n", - " print(\n", - " f\"\\nβœ… Succesfully converted {file_name} to Bedrock GI database and validated!\\n\"\n", - " )\n", - " print(\n", - " f\"🧡 Concatenating Bedrock GI database for {file_name} to existing Bedrock GI database...\\n\"\n", - " )\n", - " brgi_db = concatenate_databases(brgi_db, brgi_db_from_1_ags3_file)\n", - "\n", - " # Drop all rows that have completely duplicate rows in the Project table\n", - " brgi_db[\"Project\"] = brgi_db[\"Project\"].drop_duplicates()\n", - " # Then drop all that unfortunately still have a duplicate project_uid\n", - " brgi_db[\"Project\"] = brgi_db[\"Project\"].drop_duplicates(\n", - " subset=\"project_uid\", keep=\"first\"\n", - " )\n", - " return brgi_db\n" - ] - }, - { - "cell_type": "markdown", - "id": "vblA", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "# AGS 3 Data in Kai Tak, Hong Kong\n", - "\n", - "This notebook demonstrates how to:\n", - "\n", - "1. Use `bedrock-ge` to load Ground Investigation (GI) data from AGS 3 files (a common GI data format in Hong Kong)\n", - "2. Convert the AGS 3 data into a standardized GI database using `bedrock-ge`\n", - "3. Transform the GI data into 3D GIS features with proper coordinates and geometry ([OGC Simple Feature Access](https://en.wikipedia.org/wiki/Simple_Features))\n", - "4. Explore and analyze the GI data using:\n", - " - Interactive filtering with Pandas dataframes\n", - " - Visualization on interactive maps with GeoPandas\n", - "5. Export the processed GI database to a GeoPackage file for use in GIS software\n", - "\n", - "We'll work with real GI data from the Kai Tak neighborhood in Hong Kong.\n", - "\n", - "## Context\n", - "\n", - "Kai Tak is a neighborhood in Kowloon, Hong Kong. One of the highlights of Kai Tak used to be its airport. It holds a special place in aviation history due to its unique and challenging approach, which involved pilots making a steep descent over a densely populated area while making a sharp turn at the same time and then landing on a single runway that jutted out into Victoria Harbor. [Landing at Kai Tak Airport | YouTube](https://www.youtube.com/watch?v=OtnL4KYVtDE)\n", - "\n", - "In 1998, the new Hong Kong International Airport opened, and operations at Kai Tak Airport were ceased. After the closure, the former Kai Tak Airport and surrounding neighborhood underwent a massive redevelopment project to transform it into a new residential and commercial district, which is still continuing today.\n", - "\n", - "Have a look at the [Kai Tak Speckle Project](https://app.speckle.systems/projects/013aaf06e7/models/0e43d1f003,a739490298) to get an idea what Kai Tak looks like now. (Developments are going fast, so [Google Maps 3D](https://www.google.com/maps/@22.3065043,114.2020499,462a,35y,343.1h,75.5t/data=!3m1!1e3?entry=ttu) is a bit outdated.)\n", - "\n", - "## The Kai Tak AGS 3 ground investigation data\n", - "\n", - "Ground Investigation Data for all of Hong Kong can be found here:\n", - "[GEO Data for Public Use](https://www.ginfo.cedd.gov.hk/GEOOpenData/eng/Default.aspx) β†’ [Ground Investigation (GI) and Laboratory Test (LT) Records](https://www.ginfo.cedd.gov.hk/GEOOpenData/eng/GI.aspx)\n", - "\n", - "The Ground Investigation data specific to the Kai Tak neighborhood in Hong Kong can be found in the `bedrock-ge` GitHub repository:\n", - "[`github.com/bedrock-engineer/bedrock-ge/examples/hk_kaitak_ags3/kaitak_ags3.zip`](https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/kaitak_ags3.zip).\n", - "This archive contains GI data from 88 AGS 3 files, with a total of 834 locations (boreholes and Cone Penetration Tests).\n", - "\n", - "One of the AGS 3 files with GI data was left outside the ZIP archive, such that you can have a look at the structure of an AGS 3 file:\n", - "[`github.com/bedrock-engineer/bedrock-ge/examples/hk_kaitak_ags3/ASD012162 AGS.ags`](https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/64475_ASD012162%20AGS.ags)\n", - "\n", - "### Getting the AGS 3 files\n", - "\n", - "To make it easy to run this notebook on your computer (locally) in the browser (remotely) in [marimo.app](https://marimo.app/) or [Google Colab](https://colab.research.google.com/), the code below requests the ZIP archive from GitHub and directly processes it. However, you can also download the ZIP from GitHub (link above) or directly from this notebook [by clicking this raw.githubusercontent.com raw url [ ↓ ]](http://raw.githubusercontent.com/bedrock-engineer/bedrock-ge/main/examples/hk_kaitak_ags3/kaitak_ags3.zip).\n", - "\n", - "The cell below works as is, but has a commented line 2, to help you in case you have downloaded the ZIP, and want to use that downloaded ZIP in this notebook." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "bkHC", - "metadata": {}, - "outputs": [], - "source": [ - "# Read ZIP from disk after downloading manually\n", - "# zip = Path(r\"C:\\Users\\joost\\ReposWindows\\bedrock-ge\\examples\\hk_kaitak_ags3\\public\\kaitak_ags3.zip\")\n", - "\n", - "# Request ZIP from GitHub\n", - "raw_githubusercontent_url = \"https://raw.githubusercontent.com/bedrock-engineer/bedrock-ge/main/examples/hk_kaitak_ags3/kaitak_ags3.zip\"\n", - "zip = io.BytesIO(requests.get(raw_githubusercontent_url).content)" - ] - }, - { - "cell_type": "markdown", - "id": "lEQa", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "## Converting the AGS 3 files to a relational database\n", - "\n", - "A relational database is a database with multiple tables that are linked to each other with relations. This type of database is ideal for storing GI data, given its hierarchical structure:\n", - "\n", - "```\n", - "Project\n", - " └───Location\n", - " β”œβ”€β”€β”€InSitu_TEST\n", - " └───Sample\n", - " └───Lab_TEST\n", - "```\n", - "\n", - "Where `Project`, `Location`, `InSitu_TEST`, `Sample` and `Lab_TEST` are all tables that are linked to each other with the hierarchical structure shown above, meaning that all relations are many-to-one:\n", - "\n", - "- Each GI location (many) is related to one project.\n", - "- Each sample or in-situ test (many) is related to one GI location.\n", - "- Each lab test is related to one sample.\n", - "\n", - "In Python it's convenient to represent a relational database as a dictionary of dataframe's.\n", - "\n", - "### Converting AGS 3 files to a dictionary of dataframes\n", - "\n", - "The AGS 3 files can be converted to a dictionary of dataframes using the function `list_of_ags3s_to_bedrock_gi_database(ags3_file_paths, CRS)`. The result is shown below. Have a look at the different tables and the data in those tables. Make sure to use the search and filter functionality to explore the data if you're using marimo to run this notebook!\n", - "\n", - "Notice the additional columns that were added to the tables by `bedrock-ge`:\n", - "\n", - "- To make sure that the primary keys of the GI data tables are unique when putting data from multiple AGS files together:\n", - " `project_uid`, `location_uid`, `sample_uid`\n", - "- To make it possible to generate 3D GIS geometry for the `Location`, `Sample` and `InSitu_TEST` tables:\n", - " In the `Location` table: `easting`, `northing`, `ground_level_elevation`, `depth_to_base`\n", - " In the `Sample` and `InSitu_TEST` tables: `depth_to_top` and, in case the test or sample is taken over a depth interval, `depth_to_base`." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "PKri", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "πŸ–₯️ Processing 21659/9508008.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 70 (2) doesn't match the number of columns of group DREM (3)!\n", - "DREM headers: ['HOLE_ID', 'DREM_DPTH', 'DREM_REM']\n", - "Line 70: ['\"MBH36/01', '57.35 (200 / 70mm)\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.8\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HDIA', 'DREM', 'PTIM', 'SAMP', 'FRAC', 'CORE', 'ISPT', 'HOLE', 'IVAN', 'GEOL', 'WETH', 'DETL']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_DREM', 'InSitu_PTIM', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_IVAN', 'InSitu_GEOL', 'InSitu_WETH', 'InSitu_DETL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21659/9508008.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21659/9508008.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21659/9508008.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/9508010.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'ISPT', 'DREM', 'SAMP', 'GEOL', 'DETL', 'FRAC', 'HDIA', 'PTIM', 'WETH', 'CORE', 'IVAN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_ISPT', 'InSitu_DREM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_WETH', 'InSitu_CORE', 'InSitu_IVAN']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/9508010.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/9508010.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/9508010.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP141.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP141.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP141.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP141.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP221.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP221.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP221.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP221.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP231.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP231.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP231.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP231.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP232.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP232.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP232.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP232.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP241.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP241.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP241.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP241.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP242.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP242.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP242.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP242.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP251.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP251.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP251.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP251.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP261.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP261.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP261.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP261.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP321.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 28 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 28: ['\"SEK/MCP32/1', '19.40,\"21.8', 'Silty Clay', 'CLAYZ\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP321.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP321.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP321.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP322.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP322.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP322.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP322.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP331.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP331.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP331.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP331.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP332.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP332.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP332.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP332.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP341.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 16 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 16: ['\"SEK/MCP34/1', '8.10', '9.60', 'Silty Clay,\"CLAYZ\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP341.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP341.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP341.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP342.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP342.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP342.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP342.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP351.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP351.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP351.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP351.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP431.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP431.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP431.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP431.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP521.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP521.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP521.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP521.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP531.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP531.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP531.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP531.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP541.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP541.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP541.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP541.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP621.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP621.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP621.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP621.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP631.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP631.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP631.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP631.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP641.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 17 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 17: ['\"SEK/MCP64/1', '13.1', '14.4', 'Sandy Silty Clay,\"CLAYZS\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 24 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 24: ['\"SEK/MCP64/1', '21.50', '23.90', 'Sandy Silty Clay,\"CLAYZS\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP641.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP641.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP641.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP711.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP711.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP711.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP711.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP712.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP712.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP712.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP712.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP713.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP713.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP713.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP713.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP721.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 28 (3) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 28: ['\"SEK/MCP72/1', '19.40,\"21.20,\"Sand', 'SAND\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 29 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 29: ['\"SEK/MCP72/1', '21.20,\"22.3', 'Silty Clay', 'CLAYZ\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 30 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 30: ['\"SEK/MCP72/1', '22.30,\"22.5', 'Silty Sand', 'SANDZ\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP721.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP721.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP721.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP722.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP722.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP722.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP722.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP731.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP731.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP731.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP731.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP732.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP732.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP732.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP732.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP811.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP811.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP811.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP811.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP821.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP821.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP821.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP821.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP911.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP911.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP911.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP911.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/9508014.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 4397 (1) doesn't match the number of columns of group IVAN (5)!\n", - "IVAN headers: ['HOLE_ID', 'IVAN_DPTH', 'IVAN_REM', 'IVAN_IVAN', 'IVAN_IVAR']\n", - "Line 4397: ['\\x1a']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'ISPT', 'DREM', 'PTIM', 'GEOL', 'DETL', 'FRAC', 'HDIA', 'SAMP', 'WETH', 'CORE', 'IVAN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_ISPT', 'InSitu_DREM', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_HDIA', 'InSitu_WETH', 'InSitu_CORE', 'InSitu_IVAN']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/9508014.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/9508014.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/9508014.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP142.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP142.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP142.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP142.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP233.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP233.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP233.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP233.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP234.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP234.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP234.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP234.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP243.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP243.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP243.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP243.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP252.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP252.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP252.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP252.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP253.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP253.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP253.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP253.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP254.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP254.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP254.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP254.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP255.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP255.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP255.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP255.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP333.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP333.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP333.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP333.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP334.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP334.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP334.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP334.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP335.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP335.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP335.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP335.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP343.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP343.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP343.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP343.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP352.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP352.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP352.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP352.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP353.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP353.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP353.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP353.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP421.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP421.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP421.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP421.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP432.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP432.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP432.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP432.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP433.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP433.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP433.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP433.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP441.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP441.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP441.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP441.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP522.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP522.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP522.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP522.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP523.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP523.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP523.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP523.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP611.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 1546 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1546: ['\"SEK/MCP61/1', '14.962', '21.9689', ' 0.4380', '14.6459', ' 21.9', ' 132.8', ' 0.0', ' 0.\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x005', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1715 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1715: ['\"SEK/MCP61/1', '16.650', ' 5.9643', ' 0.6640', ' 3.9762', ' 33.2', ' 240.2', ' \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0044.6', ' 415.6', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1797 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1797: ['\"SEK/MCP61/1', '17.497', ' 1.3607', ' 0.6160', ' 0.9071', ' 30.8', ' 792.\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0007', ' 32.4', ' 774.5', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1879 (14) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1879: ['\"SEK/MCP61/1', '18.343', ' 8.5958', ' 0.5640', ' 5.7305', ' 28.2\",\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\" 5.4987', ' 28.3', ' 334.6', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1961 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1961: ['\"SEK/MCP61/1', '19.184', ' 9.4110', ' 0.5660', ' 6.2740', ' \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x004700', ' 5.0512', ' 23.5', ' 278.2', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 2043 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 2043: ['\"SEK/MCP61/1', '20.029', ' 1.6185', ' 0.6620', ' 1.07\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00', ' 0.6700', ' 1.4506', ' 33.5', ' 861.8', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP611.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP611.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP611.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP622.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP622.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP622.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP622.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632A.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632A.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632A.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632A.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632B.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632B.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632B.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632B.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632C.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632C.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632C.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632C.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP633.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP633.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP633.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP633.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP634.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP634.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP634.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP634.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP642.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP642.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP642.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP642.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP643.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP643.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP643.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP643.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP714.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP714.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP714.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP714.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP723.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP723.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP723.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP723.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP724.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP724.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP724.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP724.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP725.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP725.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP725.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP725.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP726.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP726.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP726.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP726.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP727.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP727.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP727.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP727.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP733.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP733.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP733.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP733.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP822.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP822.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP822.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP822.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP822A.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP822A.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP822A.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP822A.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 31241/GE9908.7.ags ...\n", - "AGS 3 data was read for Project GE/99/08.7\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'PTIM', 'SAMP', 'GEOL']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_PTIM', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 31241/GE9908.7.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 31241/GE9908.7.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 31241/GE9908.7.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 36225/wo29_10b.ags ...\n", - "AGS 3 data was read for Project GE/2001/29.10B\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FRAC', 'GEOL', 'HDIA', 'ISPT', 'IVAN', 'PTIM', 'SAMP', 'STCN', 'WETH', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_ISPT', 'InSitu_IVAN', 'InSitu_PTIM', 'InSitu_WETH', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 36225/wo29_10b.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 36225/wo29_10b.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 36225/wo29_10b.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 43073/ge-2005-03-25 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2005/03.25\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'GEOL', 'HDIA', 'POBS', 'PREF', 'PTIM', 'SAMP', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_POBS', 'InSitu_PREF', 'InSitu_PTIM', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 43073/ge-2005-03-25 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 43073/ge-2005-03-25 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 43073/ge-2005-03-25 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 44751/GE-2005-03-57 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2005/03.57\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'GEOL', 'HDIA', 'PTIM', 'SAMP', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_PTIM', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 44751/GE-2005-03-57 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 44751/GE-2005-03-57 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 44751/GE-2005-03-57 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 47615/GE-2007-13-4 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2007/13.4\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'FRAC', 'GEOL', 'HDIA', 'IPRM', 'ISPT', 'PTIM', 'SAMP', 'WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_IPRM', 'InSitu_ISPT', 'InSitu_PTIM', 'InSitu_WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 47615/GE-2007-13-4 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 47615/GE-2007-13-4 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 47615/GE-2007-13-4 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 48525/GE-2008-03-6 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2008/03.6\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'FRAC', 'GEOL', 'HDIA', 'ISPT', 'IVAN', 'PTIM', 'SAMP', 'WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_ISPT', 'InSitu_IVAN', 'InSitu_PTIM', 'InSitu_WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 48525/GE-2008-03-6 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 48525/GE-2008-03-6 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 48525/GE-2008-03-6 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 51504/GE-2008-03-25 Rev2.ags ...\n", - "AGS 3 data was read for Project GE/2008/03.25\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'GEOL', 'HDIA', 'PTIM', 'SAMP', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_PTIM', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 51504/GE-2008-03-25 Rev2.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 51504/GE-2008-03-25 Rev2.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 51504/GE-2008-03-25 Rev2.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 53815/GE200903.38.ags ...\n", - "AGS 3 data was read for Project GE/2009/03.38\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 53815/GE200903.38.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 53815/GE200903.38.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 53815/GE200903.38.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 53816/GE200903.38.ags ...\n", - "AGS 3 data was read for Project GE/2009/03.38\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 53816/GE200903.38.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 53816/GE200903.38.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 53816/GE200903.38.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 54941/GE2010.02.50A.ags ...\n", - "AGS 3 data was read for Project GE/2010/02.50A\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'PTIM', 'SAMP', 'GEOL', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_PTIM', 'InSitu_GEOL', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 54941/GE2010.02.50A.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 54941/GE2010.02.50A.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 54941/GE2010.02.50A.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 55191/GE2010.02.50.ags ...\n", - "AGS 3 data was read for Project GE/2010/02.50\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'CDIA', 'PTIM', 'SAMP', 'CORE', 'FRAC', 'GEOL', 'DETL', 'ISPT', 'WETH', 'IVAN', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_CDIA', 'InSitu_PTIM', 'InSitu_CORE', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_ISPT', 'InSitu_WETH', 'InSitu_IVAN', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 55191/GE2010.02.50.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 55191/GE2010.02.50.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 55191/GE2010.02.50.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 58357/GE201304.18A.ags ...\n", - "AGS 3 data was read for Project GE/2013/04.18A\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'PRTG', 'PRTL', 'PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'PRTG' to Bedrock GI 'InSitu_PRTG' table...\n", - "Transforming AGS 3 group 'PRTL' to Bedrock GI 'InSitu_PRTL' table...\n", - "Transforming AGS 3 group 'PRTD' to Bedrock GI 'InSitu_PRTD' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'InSitu_PRTG', 'InSitu_PRTL', 'InSitu_PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 58357/GE201304.18A.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_PRTG' table aligns with Bedrock's 'InSitu_PRTG' table schema without GIS geometry.\n", - "'InSitu_PRTL' table aligns with Bedrock's 'InSitu_PRTL' table schema without GIS geometry.\n", - "'InSitu_PRTD' table aligns with Bedrock's 'InSitu_PRTD' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 58357/GE201304.18A.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 58357/GE201304.18A.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 58358/GE201304.18A.ags ...\n", - "AGS 3 data was read for Project GE/2013/04.18A\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'PRTG', 'PRTL', 'PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'PRTG' to Bedrock GI 'InSitu_PRTG' table...\n", - "Transforming AGS 3 group 'PRTL' to Bedrock GI 'InSitu_PRTL' table...\n", - "Transforming AGS 3 group 'PRTD' to Bedrock GI 'InSitu_PRTD' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'InSitu_PRTG', 'InSitu_PRTL', 'InSitu_PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 58358/GE201304.18A.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_PRTG' table aligns with Bedrock's 'InSitu_PRTG' table schema without GIS geometry.\n", - "'InSitu_PRTL' table aligns with Bedrock's 'InSitu_PRTL' table schema without GIS geometry.\n", - "'InSitu_PRTD' table aligns with Bedrock's 'InSitu_PRTD' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 58358/GE201304.18A.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 58358/GE201304.18A.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 64475/ASD012162 AGS.ags ...\n", - "AGS 3 data was read for Project J3573\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'CDIA', 'PTIM', 'SAMP', 'CORE', 'FRAC', 'GEOL', 'DETL', 'ISPT', 'WETH', 'FLSH', 'PREF', 'POBS', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_CDIA', 'InSitu_PTIM', 'InSitu_CORE', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_ISPT', 'InSitu_WETH', 'InSitu_FLSH', 'InSitu_PREF', 'InSitu_POBS', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 64475/ASD012162 AGS.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 64475/ASD012162 AGS.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 64475/ASD012162 AGS.ags to existing Bedrock GI database...\n", - "\n" - ] - } - ], - "source": [ - "brgi_db = zip_of_ags3s_to_bedrock_gi_database(zip, CRS(\"EPSG:2326\"))\n", - "\n", - "# Some ISPT_NVAL (SPT count) are not numeric, e.g. \"100/0.29\"\n", - "# When converting to numeric, these non-numeric values are converted to NaN\n", - "brgi_db[\"InSitu_ISPT\"][\"ISPT_NVAL\"] = pd.to_numeric(\n", - " brgi_db[\"InSitu_ISPT\"][\"ISPT_NVAL\"], errors=\"coerce\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "Xref", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "Select the Bedrock GI table you want to explore: " - ], - "text/markdown": [ - "Select the Bedrock GI table you want to explore: " - ], - "text/plain": [ - "_md()" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sel_brgi_table = mo.ui.dropdown(brgi_db, value=\"Project\")\n", - "mo.md(f\"Select the Bedrock GI table you want to explore: {sel_brgi_table}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "SFPL", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "outputs": [ - { - "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" - }, - { - "name": "PROJ_ID", - "rawType": "object", - "type": "string" - }, - { - "name": "PROJ_NAME", - "rawType": "object", - "type": "string" - }, - { - "name": "PROJ_LOC", - "rawType": "object", - "type": "unknown" - }, - { - "name": "PROJ_CLNT", - "rawType": "object", - "type": "string" - }, - { - "name": "PROJ_CONT", - "rawType": "object", - "type": "string" - }, - { - "name": "PROJ_ENG", - "rawType": "object", - "type": "unknown" - }, - { - "name": "PROJ_MEMO", - "rawType": "object", - "type": "unknown" - }, - { - "name": "PROJ_DATE", - "rawType": "object", - "type": "string" - }, - { - "name": "PROJ_AGS", - "rawType": "object", - "type": "unknown" - }, - { - "name": "REPORT_NO", - "rawType": "int64", - "type": "integer" - }, - { - "name": "project_uid", - "rawType": "object", - "type": "string" - }, - { - "name": "crs_wkt", - "rawType": "object", - "type": "string" - } - ], - "conversionMethod": "pd.DataFrame", - "ref": "836956f6-ef29-4260-9574-b303ec08eb01", - "rows": [ - [ - "0", - "GE/95/08.8", - "SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STUDY MARINE GROUND", - "INVESTIGATION- PHASE I SI (ADDITIONAL WORKS)", - "PM/KOWLOON TDD", - "BACHY SOLETANCHE GROUP", - "MAUNSELL", - "GE/95/08", - "15/05/96", - "07/94", - "21659", - "GE/95/08.8_21659/9508008.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "1", - "GE/95/08.10", - "SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STUDY PHASE 2 MARINE GROUND INVESTIGATION", - null, - "PM / KOWLOON - TDD", - "BACHY SOLETANCHE GROUP", - "MAUNSELL", - "GE/95/08", - "29/6/1996", - "07/94", - "21761", - "GE/95/08.10_21761/9508010.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "2", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP141.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "3", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP221.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "4", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP231.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "5", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP232.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "6", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP241.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "7", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP242.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "8", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP251.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "9", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP261.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "10", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP321.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "11", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP322.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "12", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP331.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "13", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP332.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "14", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP341.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "15", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP342.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "16", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP351.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "17", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP431.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "18", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP521.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "19", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP531.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "20", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP541.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "21", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP621.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "22", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP631.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "23", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP641.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "24", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP711.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "25", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP712.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "26", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP713.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "27", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP721.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "28", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP722.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "29", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP731.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "30", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP732.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "31", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP811.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "32", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP821.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "33", - "GE/95/08.10", - "S.E. Kowloon Development Phase 2", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "04.06.96", - "7.94", - "21761", - "GE/95/08.10_21761/MCP911.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "34", - "GE/95/08.14", - "SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STUDY PHASE 3 MARINE GROUND INVESTIGATION", - null, - "TERRITORY DEVELOPMENT DEPARTMENT", - "BACHY SOLETANCHE GROUP", - "MAUNSELL GEOTECHNICAL SERVICES", - "GE/95/08", - "15/04/1997", - "07/94", - "27345", - "GE/95/08.14_27345/9508014.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "35", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP142.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "36", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP233.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "37", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP234.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "38", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP243.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "39", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP252.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "40", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP253.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "41", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP254.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "42", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP255.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "43", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP333.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "44", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP334.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "45", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP335.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "46", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP343.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "47", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP352.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "48", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP353.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ], - [ - "49", - "GE/95/08.14", - "S.E. Kowloon Development Phase 3", - "Kowloon Bay", - "Territory Development Department", - "Fugro Geotechnical Services (HK) Ltd", - "Maunsell Consultants Asia Ltd", - "GE/95/08", - "20.01.97", - "7.94", - "27345", - "GE/95/08.14_27345/MCP421.AGS", - "PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGCRS[\"Hong Kong 1980\",DATUM[\"Hong Kong 1980\",ELLIPSOID[\"International 1924\",6378388,297,LENGTHUNIT[\"metre\",1]]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],ID[\"EPSG\",4611]],CONVERSION[\"Hong Kong 1980 Grid\",METHOD[\"Transverse Mercator\",ID[\"EPSG\",9807]],PARAMETER[\"Latitude of natural origin\",22.3121333333333,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8801]],PARAMETER[\"Longitude of natural origin\",114.178555555556,ANGLEUNIT[\"degree\",0.0174532925199433],ID[\"EPSG\",8802]],PARAMETER[\"Scale factor at natural origin\",1,SCALEUNIT[\"unity\",1],ID[\"EPSG\",8805]],PARAMETER[\"False easting\",836694.05,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8806]],PARAMETER[\"False northing\",819069.8,LENGTHUNIT[\"metre\",1],ID[\"EPSG\",8807]]],CS[Cartesian,2],AXIS[\"northing (N)\",north,ORDER[1],LENGTHUNIT[\"metre\",1]],AXIS[\"easting (E)\",east,ORDER[2],LENGTHUNIT[\"metre\",1]],USAGE[SCOPE[\"Cadastre, engineering survey, topographic mapping (large scale).\"],AREA[\"China - Hong Kong - onshore and offshore.\"],BBOX[22.13,113.76,22.58,114.51]],ID[\"EPSG\",2326]]" - ] - ], - "shape": { - "columns": 12, - "rows": 88 - } - }, - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
PROJ_IDPROJ_NAMEPROJ_LOCPROJ_CLNTPROJ_CONTPROJ_ENGPROJ_MEMOPROJ_DATEPROJ_AGSREPORT_NOproject_uidcrs_wkt
0GE/95/08.8SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STU...INVESTIGATION- PHASE I SI (ADDITIONAL WORKS)PM/KOWLOON TDDBACHY SOLETANCHE GROUPMAUNSELLGE/95/0815/05/9607/9421659GE/95/08.8_21659/9508008.AGSPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
1GE/95/08.10SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STU...NaNPM / KOWLOON - TDDBACHY SOLETANCHE GROUPMAUNSELLGE/95/0829/6/199607/9421761GE/95/08.10_21761/9508010.AGSPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
2GE/95/08.10S.E. Kowloon Development Phase 2Kowloon BayTerritory Development DepartmentFugro Geotechnical Services (HK) LtdMaunsell Consultants Asia LtdGE/95/0804.06.967.9421761GE/95/08.10_21761/MCP141.AGSPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
3GE/95/08.10S.E. Kowloon Development Phase 2Kowloon BayTerritory Development DepartmentFugro Geotechnical Services (HK) LtdMaunsell Consultants Asia LtdGE/95/0804.06.967.9421761GE/95/08.10_21761/MCP221.AGSPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
4GE/95/08.10S.E. Kowloon Development Phase 2Kowloon BayTerritory Development DepartmentFugro Geotechnical Services (HK) LtdMaunsell Consultants Asia LtdGE/95/0804.06.967.9421761GE/95/08.10_21761/MCP231.AGSPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
.......................................
83GE/2010/02.50AAgreement No. CE 43/2010 (HY) Central Kowloon ...NaNHKSAR - Civil Engineering & Development Depart...GAMMON CONSTRUCTION LIMITEDNaNNaN20/02/2012354941GE/2010/02.50A_54941/GE2010.02.50A.agsPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
84GE/2010/02.50Agreement No. CE 43/2010 (HY) Central Kowloon ...NaNHKSAR - Civil Engineering & Development Depart...GAMMON CONSTRUCTION LIMITEDArup-Mott MacDonald Joint VentureNaN02/04/2012355191GE/2010/02.50_55191/GE2010.02.50.agsPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
85GE/2013/04.18AGround Investigation - Urban (Term Contract), ...NaNCivil Engineering and Development Department, ...DrilTech Ground Engineering Ltd.Mott MacDonald Hong Kong LimitedNaN24/01/2014358357GE/2013/04.18A_58357/GE201304.18A.agsPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
86GE/2013/04.18AGround Investigation - Urban (Term Contract), ...NaNCivil Engineering and Development Department, ...DrilTech Ground Engineering Ltd.Mott MacDonald Hong Kong LimitedNaN24/01/2014358358GE/2013/04.18A_58358/GE201304.18A.agsPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
87J3573Multi-Purpose Complex (MPSC) at Kai Tak, Kowlo...Kai Tak, Kowloon City DistrictARCHITECTURAL SERVICES DEPARTMENTGAMMON CONSTRUCTION LIMITEDNaNNaN26/01/2017364475J3573_64475/ASD012162 AGS.agsPROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC...
\n", - "

88 rows Γ— 12 columns

\n", - "
" - ], - "text/plain": [ - " PROJ_ID PROJ_NAME \\\n", - "0 GE/95/08.8 SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STU... \n", - "1 GE/95/08.10 SOUTH EAST KOWLOON DEVELOPMENT FEASIBILITY STU... \n", - "2 GE/95/08.10 S.E. Kowloon Development Phase 2 \n", - "3 GE/95/08.10 S.E. Kowloon Development Phase 2 \n", - "4 GE/95/08.10 S.E. Kowloon Development Phase 2 \n", - ".. ... ... \n", - "83 GE/2010/02.50A Agreement No. CE 43/2010 (HY) Central Kowloon ... \n", - "84 GE/2010/02.50 Agreement No. CE 43/2010 (HY) Central Kowloon ... \n", - "85 GE/2013/04.18A Ground Investigation - Urban (Term Contract), ... \n", - "86 GE/2013/04.18A Ground Investigation - Urban (Term Contract), ... \n", - "87 J3573 Multi-Purpose Complex (MPSC) at Kai Tak, Kowlo... \n", - "\n", - " PROJ_LOC \\\n", - "0 INVESTIGATION- PHASE I SI (ADDITIONAL WORKS) \n", - "1 NaN \n", - "2 Kowloon Bay \n", - "3 Kowloon Bay \n", - "4 Kowloon Bay \n", - ".. ... \n", - "83 NaN \n", - "84 NaN \n", - "85 NaN \n", - "86 NaN \n", - "87 Kai Tak, Kowloon City District \n", - "\n", - " PROJ_CLNT \\\n", - "0 PM/KOWLOON TDD \n", - "1 PM / KOWLOON - TDD \n", - "2 Territory Development Department \n", - "3 Territory Development Department \n", - "4 Territory Development Department \n", - ".. ... \n", - "83 HKSAR - Civil Engineering & Development Depart... \n", - "84 HKSAR - Civil Engineering & Development Depart... \n", - "85 Civil Engineering and Development Department, ... \n", - "86 Civil Engineering and Development Department, ... \n", - "87 ARCHITECTURAL SERVICES DEPARTMENT \n", - "\n", - " PROJ_CONT PROJ_ENG \\\n", - "0 BACHY SOLETANCHE GROUP MAUNSELL \n", - "1 BACHY SOLETANCHE GROUP MAUNSELL \n", - "2 Fugro Geotechnical Services (HK) Ltd Maunsell Consultants Asia Ltd \n", - "3 Fugro Geotechnical Services (HK) Ltd Maunsell Consultants Asia Ltd \n", - "4 Fugro Geotechnical Services (HK) Ltd Maunsell Consultants Asia Ltd \n", - ".. ... ... \n", - "83 GAMMON CONSTRUCTION LIMITED NaN \n", - "84 GAMMON CONSTRUCTION LIMITED Arup-Mott MacDonald Joint Venture \n", - "85 DrilTech Ground Engineering Ltd. Mott MacDonald Hong Kong Limited \n", - "86 DrilTech Ground Engineering Ltd. Mott MacDonald Hong Kong Limited \n", - "87 GAMMON CONSTRUCTION LIMITED NaN \n", - "\n", - " PROJ_MEMO PROJ_DATE PROJ_AGS REPORT_NO \\\n", - "0 GE/95/08 15/05/96 07/94 21659 \n", - "1 GE/95/08 29/6/1996 07/94 21761 \n", - "2 GE/95/08 04.06.96 7.94 21761 \n", - "3 GE/95/08 04.06.96 7.94 21761 \n", - "4 GE/95/08 04.06.96 7.94 21761 \n", - ".. ... ... ... ... \n", - "83 NaN 20/02/2012 3 54941 \n", - "84 NaN 02/04/2012 3 55191 \n", - "85 NaN 24/01/2014 3 58357 \n", - "86 NaN 24/01/2014 3 58358 \n", - "87 NaN 26/01/2017 3 64475 \n", - "\n", - " project_uid \\\n", - "0 GE/95/08.8_21659/9508008.AGS \n", - "1 GE/95/08.10_21761/9508010.AGS \n", - "2 GE/95/08.10_21761/MCP141.AGS \n", - "3 GE/95/08.10_21761/MCP221.AGS \n", - "4 GE/95/08.10_21761/MCP231.AGS \n", - ".. ... \n", - "83 GE/2010/02.50A_54941/GE2010.02.50A.ags \n", - "84 GE/2010/02.50_55191/GE2010.02.50.ags \n", - "85 GE/2013/04.18A_58357/GE201304.18A.ags \n", - "86 GE/2013/04.18A_58358/GE201304.18A.ags \n", - "87 J3573_64475/ASD012162 AGS.ags \n", - "\n", - " crs_wkt \n", - "0 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "1 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "2 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "3 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "4 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - ".. ... \n", - "83 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "84 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "85 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "86 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "87 PROJCRS[\"Hong Kong 1980 Grid System\",BASEGEOGC... \n", - "\n", - "[88 rows x 12 columns]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sel_brgi_table.value" - ] - }, - { - "cell_type": "markdown", - "id": "BYtC", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "## Relational database to 3D geospatial database\n", - "A geospatial database is a relational database that has been enhanced to store geospatial data. There are two broad categories of geospatial data:\n", - "\n", - "1. [Raster data](https://en.wikipedia.org/wiki/GIS_file_format#Raster_formats): geographic information as a grid of pixels (cells), where each pixel stores a value corresponding to a specific location and attribute, such as elevation, temperature, or land cover. So, a Digital Elevation Model (DEM) is an example of GIS raster data.\n", - "2. [Vector data](https://en.wikipedia.org/wiki/GIS_file_format#Vector_formats): tables in which each row contains:\n", - " - [Simple feature GIS geometry](https://en.wikipedia.org/wiki/Simple_Features), represented as [Well-Known Text](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry). For example in the `InSitu_GEOL` and `InSitu_ISPT` tables:\n", - " `InSitu_GEOL`: a depth interval in a borehole where sand was found.\n", - " `InSitu_ISPT`: a point in a borehole where an SPT test was performed.\n", - " - Attributes that describe the GIS geometry. For example in the `InSitu_GEOL` and `InSitu_ISPT` tables:\n", - " `InSitu_GEOL`: the geology code (`GEOL_GEOL`), general description of stratum (`GEOL_DESC`), etc.\n", - " `InSitu_ISPT`: the SPT N-value (`ISPT_NVAL`), energy ratio of the hammer (`ISPT_ERAT`), etc.\n", - "\n", - "So, when representing GI data as 3D GIS features, we are talking about GIS vector data.\n", - "\n", - "### From GI dataframe to `geopandas.GeoDataFrame`\n", - "\n", - "In order to construct the 3D simple feature GIS geometry of the `Location`s, `Sample`s and `InSitu_TEST`s, a few more columns have to be calcualated for each of these tables: `elevation_at_top` and `elevation_at_base` if the in-situ test or sample was taken over a depth interval.\n", - "\n", - "The 3D simple feature GIS geometry as [WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) for point tests and samples:\n", - "`POINT (easting northing elevation_at_top)`\n", - "\n", - "The 3D simple feature GIS geometry as WKT for in-situ tests and samples taken over a depth interval:\n", - "`LINESTRING (easting northing elevation_at_top, easting northing elevation_at_base)`\n", - "\n", - "Additionally, a `LonLatHeight` table is created which contains the GI locations at ground level in WGS84 - World Geodetic System 1984 - EPSG:4326 coordinates (Longitude, Latitude, Ellipsoidal Height), which in WKT looks like:\n", - "`POINT (longitude latitude wgs84_ground_level_height)`\n", - "\n", - "The reason for creating the `LonLatHeight` table is that vertical lines in projected Coordinate Reference Systems (CRS) are often not rendered nicely by default in all web-mapping software. Vertical lines are often not visible when looking at a map from above, and not all web-mapping software is capable of handling geometry in non-WGS84, i.e. (Lon, Lat) coordinates." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "RGSE", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating GIS geometry for the Bedrock GI database tables...\n", - "Calculating GIS geometry for the Bedrock GI 'Location' table...\n", - "Creating 'LonLatHeight' table with GI locations in WGS84 geodetic coordinates...\n", - " WGS84 geodetic coordinates: (Longitude, Latitude, Ground Level Ellipsoidal Height)\n", - "Calculating GIS geometry for the Bedrock GI 'Sample' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_HDIA' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_DREM' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PTIM' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_FRAC' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_CORE' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_ISPT' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_IVAN' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_GEOL' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_WETH' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_DETL' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_IPRM' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_CDIA' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_FLSH' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_POBS' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PREF' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PRTG' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PRTL' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PRTD' table...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema.\n" - ] - }, - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "brgi_geodb = calculate_gis_geometry(brgi_db)\n", - "check_brgi_database(brgi_geodb)" - ] - }, - { - "cell_type": "markdown", - "id": "Kclp", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "## Ground Investigation data exploration\n", - "\n", - "After creating the Bedrock GI 3D Geospatial Database `brgi_geodb` - which is a dictionary of [`geopandas.GeoDataFrame`](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.html#geopandas.GeoDataFrame)s - you can explore the Kai Tak Ground Investigation data on an interactive map by applying the [`geopandas.GeoDataFrame.explore()`](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.explore.html#geopandas.GeoDataFrame.explore) method to the different tables in the `brgi_geodb`.\n", - "\n", - "Do note that this works best on the tables with `POINT` GIS geometry such as `LonLatHeight` or `InSitu_ISPT`. Tables with vertical `LINESTRING` GIS geometry, such as `Location`, `InSitu_GEOL` or `InSitu_WETH`, display very small on the `gdf.explore()` `leaflet`-based interactive map, and don't show at all on the `matplotlib`-based `gdf.plot()`." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "emfo", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "brgi_geodb[\"LonLatHeight\"].explore()" - ] - }, - { - "cell_type": "markdown", - "id": "Hstk", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "With marimo's built-in data exploration tables and dataframes, it's also really easy to filter and visualize the GI data.\n", - "\n", - "For example, in the `InSitu_ISPT` table (SPT data) you could apply a filter to the `ISPT_NVAL` (SPT N-value) of e.g. 1 - 10. When you then select those rows and then scroll to the map below, you'll see all the locations where soft soils were encountered." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "nWHF", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "Select the GI table you want to explore: " - ], - "text/markdown": [ - "Select the GI table you want to explore: " - ], - "text/plain": [ - "_md()" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "explore_brgi_table = mo.ui.dropdown(brgi_db, value=\"InSitu_ISPT\")\n", - "mo.md(f\"Select the GI table you want to explore: {explore_brgi_table}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "iLit", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/markdown": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_marimo_row_idHOLE_IDISPT_TOPISPT_SEATISPT_MAINISPT_NPENISPT_NVALISPT_TYPEISPT_REMISPT_INC1...ISPT_REPISPT_CASISPT_WATISPT_PEN1ISPT_PEN2ISPT_PEN3ISPT_PEN4ISPT_PEN5ISPT_PEN6elevation_at_top
00MBH36/013.754.013.00.4513.0SNone2.0...NaNNaNNaNNaNNaNNaNNaNNaNNaN-8.25
11MBH36/015.754.06.00.456.0SNone2.0...NaNNaNNaNNaNNaNNaNNaNNaNNaN-10.25
22MBH36/017.756.019.00.4519.0SNone3.0...NaNNaNNaNNaNNaNNaNNaNNaNNaN-12.25
33MBH36/019.757.018.00.4518.0SNone3.0...NaNNaNNaNNaNNaNNaNNaNNaNNaN-14.25
44MBH36/0111.752.018.00.4518.0SNone1.0...NaNNaNNaNNaNNaNNaNNaNNaNNaN-16.25
..................................................................
39813981BH8252.2010.046.0450.0046.0SNaN4.0...4,6/9,9,11,17 N=4652.2NaN75.075.075.075.075.075.0-46.61
39823982BH8255.2012.047.0450.0047.0SNaN5.0...5,7/7,10,12,18 N=4755.2NaN75.075.075.075.075.075.0-49.61
39833983BH8258.2013.056.0450.0056.0SNaN6.0...6,7/7,11,17,21 N=5658.2NaN75.075.075.075.075.075.0-52.61
39843984BH8261.2025.0150.0450.00150.0SNaN8.0...8,17/21,30,38,61 N=15061.2NaN75.075.075.075.075.075.0-55.61
39853985BH8264.2049.0200.0330.00NaNSNaN19.0...50,89,61/30mm64.2NaN75.075.075.075.030.0NaN-58.61
\n", - "

3986 rows Γ— 29 columns

\n", - "
" - ], - "text/plain": [ - "table()" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "filtered_table = mo.ui.table(explore_brgi_table.value)\n", - "filtered_table" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ZHCJ", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\joost\\AppData\\Local\\Temp\\ipykernel_7116\\761422290.py:15: UserWarning: The GeoSeries you are attempting to plot is composed of empty geometries. Nothing has been displayed.\n", - " output = filtered_gdf.explore()\n" - ] - }, - { - "data": { - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "def gi_exploration_map(filtered_brgi_table):\n", - " if \"location_uid\" not in filtered_brgi_table.value.columns:\n", - " output = mo.md(\n", - " \"No interactive map with the data selected in the table above can be shown, because the you're exploring isn't linked to the `LonLatHeight` table with a `location_uid` column, i.e. doesn't have `location_uid` as a foreign key.\"\n", - " ).callout(\"warn\")\n", - " else:\n", - " filtered_df = filtered_brgi_table.value.merge(\n", - " brgi_geodb[\"LonLatHeight\"], on=\"location_uid\", how=\"inner\"\n", - " )\n", - " filtered_gdf = gpd.GeoDataFrame(\n", - " filtered_df,\n", - " geometry=filtered_df[\"geometry\"],\n", - " crs=\"EPSG:4326\", # 4326 is the WGS84 (lon, lat) EPSG code\n", - " )\n", - " output = filtered_gdf.explore()\n", - " return output\n", - "\n", - "\n", - "gi_exploration_map(filtered_table)" - ] - }, - { - "cell_type": "markdown", - "id": "ROlb", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "Something else you might be interested in, is where the weathering grade of the soil or rock is low. Weathering grades range from `I` (Fresh Rock) to `VI` (Residual Soil). All rock with a weathering grade of `III` (Moderately Decomposed) or better is still considered competent rock.\n", - "\n", - "The weathering grades can be found in the `WETH_GRAD` column in the `InSitu_WETH` table (Weathering data). Therefore, to find all competent rock, we need to filter out all the rows that contain a `V`, which you can do in the widget below.\n", - "\n", - "That widget also shows the Python code that creates the filter:\n", - "\n", - "```python\n", - "df_next = df\n", - "df_next = df_next[~((df_next[\"WETH_GRAD\"].str.contains(\"V\")))]\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "qnkX", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "Select the GI table you want to explore: " - ], - "text/markdown": [ - "Select the GI table you want to explore: " - ], - "text/plain": [ - "_md()" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "explore_brgi_df = mo.ui.dropdown(brgi_db, value=\"InSitu_WETH\")\n", - "mo.md(f\"Select the GI table you want to explore: {explore_brgi_df}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "TqIu", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/markdown": [ - "<marimo-dataframe data-initial-value='{&quot;transforms&quot;: []}' data-label='null' data-columns='[[&quot;HOLE_ID&quot;, &quot;string&quot;, &quot;object&quot;], [&quot;WETH_TOP&quot;, &quot;number&quot;, &quot;float64&quot;], [&quot;WETH_BASE&quot;, &quot;number&quot;, &quot;float64&quot;], [&quot;WETH_LEG&quot;, &quot;string&quot;, &quot;object&quot;], [&quot;WETH_GRAD&quot;, &quot;string&quot;, &quot;object&quot;], [&quot;project_uid&quot;, &quot;string&quot;, &quot;object&quot;], [&quot;location_uid&quot;, &quot;string&quot;, &quot;object&quot;], [&quot;depth_to_top&quot;, &quot;number&quot;, &quot;float64&quot;], [&quot;depth_to_base&quot;, &quot;number&quot;, &quot;float64&quot;], [&quot;WETH_REM&quot;, &quot;string&quot;, &quot;object&quot;], [&quot;elevation_at_top&quot;, &quot;number&quot;, &quot;float64&quot;], [&quot;elevation_at_base&quot;, &quot;number&quot;, &quot;float64&quot;]]' data-dataframe-name='&quot;df&quot;' data-total='3928' data-page-size='5'></marimo-dataframe>" - ], - "text/plain": [ - "dataframe()" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "filtered_df = mo.ui.dataframe(explore_brgi_df.value)\n", - "filtered_df" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "Vxnm", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gi_exploration_map(filtered_df)" - ] - }, - { - "cell_type": "markdown", - "id": "DnEU", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "## Saving the GI geospatial database as a GeoPackage (.gpkg)\n", - "\n", - "Finally, lets write, i.e. persist `brgi_geodb` - a Python dictionary of `geopandas.GeoDataFrames` - to an actual geospatial database file, so we can share our GI data with others.\n", - "For example, to reuse it in other notebooks, create dashboards, access the GI data in QGIS or ArcGIS, and more...\n", - "\n", - "A GeoPackage is an OGC-standardized extension of SQLite (a relational database in a single file, .sqlite or .db) that allows you to store any type of GIS data (both raster as well as vector data) in a single file that has the .gpkg extension. Therefore, many (open-source) GIS software packages support GeoPackage!\n", - "\n", - "> [What about Shapefile and GeoJSON?](#what-about-shapefile-and-geojson)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "ulZA", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Table names shouldn't contain [':', '/', '\\\\', '?', '*', '[', ']'] or spaces and shouldn't be longer than 31 characters.\n", - " Replaced '?LEGD' with 'LEGD'.\n", - "Ground Investigation data has been written to 'c:\\Users\\joost\\ReposWindows\\bedrock-ge\\examples\\hk_kaitak_ags3\\kaitak_gi.gpkg'.\n" - ] - } - ], - "source": [ - "output = None\n", - "if platform.system() != \"Emscripten\":\n", - " write_gi_db_to_gpkg(brgi_geodb, mo.notebook_dir() / \"kaitak_gi.gpkg\")\n", - "else:\n", - " output = mo.md(\n", - " \"Writing a GeoPackage from WebAssembly (marimo playground) causes geopandas to think that the GeoDataFrames in the `brgi_geodb` don't have a geometry column. You can [download the GeoPackage from GitHub](https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/kaitak_gi.gpkg)\"\n", - " ).callout(\"warn\")\n", - "output" - ] - }, - { - "cell_type": "markdown", - "id": "ecfG", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "## What's next?\n", - "\n", - "As mentioned above, the `kaitak_gi.gpkg` GeoPackage can be loaded into QGIS or ArcGIS. QGIS and ArcGIS have [connectors for the Speckle platform](https://www.speckle.systems/connectors), which allows you to publish GIS data to Speckle.\n", - "\n", - "With the Speckle viewer you can visualize the GI data in context with data from other AEC software such as Civil3D (Click the balloon!):\n", - "\n", - "\n", - "\n", - "Additionally, you can load the GI data in other software that Speckle has a connector for, such as Rhino / Grasshopper to enable parameteric geotechnical engineering workflows." - ] - }, - { - "cell_type": "markdown", - "id": "Pvdt", - "metadata": { - "marimo": { - "config": { - "hide_code": true - } - } - }, - "source": [ - "## What about Shapefile and GeoJSON?\n", - "\n", - "### Shapefile\n", - "\n", - "Bluntly put, Shapefile is a bad format.\n", - "\n", - "Among other problems, Shapefile isn't just a single file. One has to at least share three files [(*.shp, *.dbf, *.shx)](https://en.wikipedia.org/wiki/Shapefile#Mandatory_files), which doesn't include the definition of a CRS. In case that doesn't sound terrible enough to you yet, please have a look at the fantastic website [switchfromshapefile.org](http://switchfromshapefile.org/).\n", - "\n", - "### GeoJSON\n", - "\n", - "GeoJSON is a nice, human readable file format for GIS vector data, which is especially useful for web services, but has a few drawbacks:\n", - "\n", - "- Although it is technically possible to use GeoJSON with more CRSs, the [specification states clearly](https://tools.ietf.org/html/rfc7946#section-4) that WGS84, with EPSG:4326 and coordinates (Lon, Lat, Height), is the only CRS that should be used in GeoJSON (see [switchfromshapefile.org](http://switchfromshapefile.org/#geojson)).\n", - "- GeoJSON support in ArcGIS isn't fantastic. You have to go through [Geoprocessing - JSON to Features conversion tool](https://pro.arcgis.com/en/pro-app/latest/tool-reference/conversion/json-to-features.htm) to add a GeoJSON to your ArcGIS project, which is a bit cumbersome." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": ".venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.20" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py b/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py index 7c765e8..508b9af 100644 --- a/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py +++ b/examples/hk_kaitak_ags3/hk_kaitak_ags3_to_brgi_geodb.py @@ -1,29 +1,29 @@ # /// script # requires-python = ">=3.12" # dependencies = [ -# "bedrock-ge==0.2.4", -# "chardet==5.2.0", -# "folium==0.19.5", -# "geopandas==1.0.1", -# "mapclassify==2.8.1", +# "bedrock-ge==0.3.0 +# "folium==0.20.0", +# "geopandas==1.1.0", +# "mapclassify==2.9.0", # "marimo", -# "matplotlib==3.10.1", -# "pandas==2.2.3", +# "matplotlib==3.10.3", +# "numpy==2.3.1", +# "pandas==2.3.0", # "pyproj==3.7.1", -# "requests==2.32.3", -# "shapely==2.1.0", +# "requests==2.32.4", +# "shapely==2.1.1", # ] # /// import marimo -__generated_with = "0.13.11" +__generated_with = "0.14.7" app = marimo.App( - app_title="Kai Tak, HK AGS 3 data to bedrock_ge.gi geodatabase", + app_title="Kai Tak, HK AGS 3 data to a Bedrock GI Geospatial Database", ) -@app.cell +@app.cell(hide_code=True) def _(): # %pip install bedrock-ge geopandas folium mapclassify marimo --quiet @@ -38,94 +38,41 @@ def _(): import mapclassify import marimo as mo import matplotlib + import numpy as np import pandas as pd import requests - from pyproj import CRS - from shapely import wkt + from pyproj import CRS, Transformer + from pyproj.crs.crs import CompoundCRS + from shapely import Point, wkt - from bedrock_ge.gi.ags.read import ags_to_dfs - from bedrock_ge.gi.ags.transform import ags3_db_to_no_gis_brgi_db - from bedrock_ge.gi.concatenate import concatenate_databases - from bedrock_ge.gi.gis_geometry import calculate_gis_geometry - from bedrock_ge.gi.validate import check_brgi_database, check_no_gis_brgi_database - from bedrock_ge.gi.write import write_gi_db_to_gpkg + from bedrock_ge.gi.ags import ags_to_brgi_db_mapping + from bedrock_ge.gi.db_operations import merge_dbs + from bedrock_ge.gi.geospatial import create_brgi_geodb + from bedrock_ge.gi.io_utils import geodf_to_df + from bedrock_ge.gi.mapper import map_to_brgi_db + from bedrock_ge.gi.write import write_brgi_db_to_file print(platform.system()) print(sys.version) # print(sys.executable) return ( CRS, - ags3_db_to_no_gis_brgi_db, - ags_to_dfs, - calculate_gis_geometry, - check_brgi_database, - check_no_gis_brgi_database, - concatenate_databases, + Point, + ags_to_brgi_db_mapping, + create_brgi_geodb, + geodf_to_df, gpd, io, + map_to_brgi_db, + merge_dbs, mo, - pd, platform, requests, - write_gi_db_to_gpkg, + write_brgi_db_to_file, zipfile, ) -@app.cell -def _( - ags3_db_to_no_gis_brgi_db, - ags_to_dfs, - check_no_gis_brgi_database, - concatenate_databases, - zipfile, -): - def zip_of_ags3s_to_bedrock_gi_database(zip, crs): - """Read AGS 3 files from a ZIP archive and convert them to a dictionary of pandas dataframes.""" - brgi_db = {} - with zipfile.ZipFile(zip) as zip_ref: - # Iterate over files and directories in the .zip archive - for file_name in zip_ref.namelist(): - # Only process files that have an .ags or .AGS extension - if file_name.lower().endswith(".ags"): - print(f"\nπŸ–₯️ Processing {file_name} ...") - with zip_ref.open(file_name) as ags3_file: - # Convert content of a single AGS 3 file to a Dictionary of pandas dataframes (a database) - ags3_db = ags_to_dfs(ags3_file) - report_no = file_name.split("/")[0] - ags3_db["PROJ"]["REPORT_NO"] = int(report_no) - project_uid = f"{ags3_db['PROJ']['PROJ_ID'].iloc[0]}_{file_name}" - ags3_db["PROJ"]["project_uid"] = project_uid - # Remove (Static) CPT AGS 3 group 'STCN' from brgi_db, because CPT data processing needs to be reviewed. - # Not efficient to create a GIS point for every point where a CPT measures a value. - if "STCN" in ags3_db.keys(): - del ags3_db["STCN"] - # Create GI data tables with bedrock-ge names and add columns (project_uid, location_uid, sample_uid), - # such that data from multiple AGS files can be combined - brgi_db_from_1_ags3_file = ags3_db_to_no_gis_brgi_db(ags3_db, crs) - print( - f"🧐 Validating the Bedrock GI database from AGS file {file_name}..." - ) - check_no_gis_brgi_database(brgi_db_from_1_ags3_file) - print( - f"\nβœ… Successfully converted {file_name} to Bedrock GI database and validated!\n" - ) - print( - f"🧡 Concatenating Bedrock GI database for {file_name} to existing Bedrock GI database...\n" - ) - brgi_db = concatenate_databases(brgi_db, brgi_db_from_1_ags3_file) - - # Drop all rows that have completely duplicate rows in the Project table - brgi_db["Project"] = brgi_db["Project"].drop_duplicates() - # Then drop all that unfortunately still have a duplicate project_uid - brgi_db["Project"] = brgi_db["Project"].drop_duplicates( - subset="project_uid", keep="first" - ) - return brgi_db - - return (zip_of_ags3s_to_bedrock_gi_database,) - - @app.cell(hide_code=True) def _(mo): mo.md( @@ -177,7 +124,7 @@ def _(mo): @app.cell def _(io, requests): # Read ZIP from disk after downloading manually - # zip = Path(r"C:\Users\joost\ReposWindows\bedrock-ge\examples\hk_kaitak_ags3\public\kaitak_ags3.zip") + # zip = Path.home() / "Downloads" / "kaitak_ags3.zip" # Request ZIP from GitHub raw_githubusercontent_url = "https://raw.githubusercontent.com/bedrock-engineer/bedrock-ge/main/examples/hk_kaitak_ags3/kaitak_ags3.zip" @@ -226,27 +173,37 @@ def _(mo): @app.cell -def _(CRS, pd, zip, zip_of_ags3s_to_bedrock_gi_database): - brgi_db = zip_of_ags3s_to_bedrock_gi_database(zip, CRS("EPSG:2326")) +def _(CRS, ags_to_brgi_db_mapping, map_to_brgi_db, merge_dbs, zip, zipfile): + projected_crs = CRS("EPSG:2326") + vertrical_crs = CRS("EPSG:5738") + + ags3_file_brgi_dbs = [] + with zipfile.ZipFile(zip) as zip_ref: + # Iterate over files and directories in the .zip archive + for i, file_name in enumerate(zip_ref.namelist()): + # Only process files that have an .ags or .AGS extension + if file_name.lower().endswith(".ags"): + print(f"\nπŸ–₯️ Processing {file_name} ...") + with zip_ref.open(file_name) as ags3_file: + # 1. Convert content of a single AGS 3 file to a Bedrock GI Mapping. + # 2. Map the mapping object to a Bedrock GI Database. + # 3. Append the Bedrock GI Database to the list of Bedrock GI + # Databases, that were created from single AGS 3 files. + ags3_file_brgi_dbs.append( + map_to_brgi_db( + ags_to_brgi_db_mapping( + ags3_file, projected_crs, vertrical_crs + ) + ) + ) - # Some ISPT_NVAL (SPT count) are not numeric, e.g. "100/0.29" - # When converting to numeric, these non-numeric values are converted to NaN - brgi_db["InSitu_ISPT"]["ISPT_NVAL"] = pd.to_numeric( - brgi_db["InSitu_ISPT"]["ISPT_NVAL"], errors="coerce" - ) + brgi_db = merge_dbs(ags3_file_brgi_dbs) return (brgi_db,) -@app.cell(hide_code=True) -def _(brgi_db, mo): - sel_brgi_table = mo.ui.dropdown(brgi_db, value="Project") - mo.md(f"Select the Bedrock GI table you want to explore: {sel_brgi_table}") - return (sel_brgi_table,) - - -@app.cell(hide_code=True) -def _(sel_brgi_table): - sel_brgi_table.value +@app.cell +def _(brgi_db): + brgi_db.Project return @@ -255,7 +212,7 @@ def _(mo): mo.md( r""" ## Relational database to 3D geospatial database - A geospatial database is a relational database that has been enhanced to store geospatial data. There are two broad categories of geospatial data: + A database is a relational database that has been enhanced to store data. There are two broad categories of data: 1. [Raster data](https://en.wikipedia.org/wiki/GIS_file_format#Raster_formats): geographic information as a grid of pixels (cells), where each pixel stores a value corresponding to a specific location and attribute, such as elevation, temperature, or land cover. So, a Digital Elevation Model (DEM) is an example of GIS raster data. 2. [Vector data](https://en.wikipedia.org/wiki/GIS_file_format#Vector_formats): tables in which each row contains: @@ -288,29 +245,56 @@ def _(mo): @app.cell -def _(brgi_db, calculate_gis_geometry, check_brgi_database): - brgi_geodb = calculate_gis_geometry(brgi_db) - check_brgi_database(brgi_geodb) +def _(brgi_db, create_brgi_geodb): + brgi_geodb = create_brgi_geodb(brgi_db) return (brgi_geodb,) +@app.cell +def _(brgi_geodb): + brgi_geodb.LonLatHeight.explore() + return + + @app.cell(hide_code=True) def _(mo): mo.md( r""" ## Ground Investigation data exploration - After creating the Bedrock GI 3D Geospatial Database `brgi_geodb` - which is a dictionary of [`geopandas.GeoDataFrame`](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.html#geopandas.GeoDataFrame)s - you can explore the Kai Tak Ground Investigation data on an interactive map by applying the [`geopandas.GeoDataFrame.explore()`](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.explore.html#geopandas.GeoDataFrame.explore) method to the different tables in the `brgi_geodb`. + After creating the Bedrock GI 3D Database `brgi_geodb` - which is a dictionary of [`geopandas.GeoDataFrame`](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.html#geopandas.GeoDataFrame)s - you can explore the Kai Tak Ground Investigation data on an interactive map by applying the [`geopandas.GeoDataFrame.explore()`](https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.explore.html#geopandas.GeoDataFrame.explore) method to the different tables in the `brgi_geodb`. - Do note that this works best on the tables with `POINT` GIS geometry such as `LonLatHeight` or `InSitu_ISPT`. Tables with vertical `LINESTRING` GIS geometry, such as `Location`, `InSitu_GEOL` or `InSitu_WETH`, display very small on the `gdf.explore()` `leaflet`-based interactive map, and don't show at all on the `matplotlib`-based `gdf.plot()`. + Do note that this works best on the tables with `POINT` GIS geometry such as `LonLatHeight` or `ISPT` (SPT data). Tables with vertical `LINESTRING` GIS geometry, such as `Location`, `GEOL` (Stratum descriptions) or `WETH` (Weathering grades), display very small on the `leaflet`-based interactive map created with `geodf.explore()`, and don't show at all on the `matplotlib`-based map created with `geodf.plot()`. + + Therefore, a convenience function is defined below to just plot the first coordinate of a `LINESTRING`, which makes the data more visible. The data displayed below is the `GEOL` table (Stratum descriptions): """ ) return -@app.cell -def _(brgi_geodb): - brgi_geodb["LonLatHeight"].explore() +@app.cell(hide_code=True) +def _(Point, brgi_geodb, gpd, mo): + def gi_exploration_map(geodf): + if "geometry" not in geodf.columns: + output = mo.md( + "No interactive map with the data selected in the table above can be shown, because the data you're exploring doesn't have a 'geometry' column." + ).callout("warn") + else: + fltrd_geodf = gpd.GeoDataFrame(geodf.copy()) + fltrd_geodf["geometry"] = fltrd_geodf["geometry"].apply( + lambda geom: Point(geom.coords[0]) + ) + output = fltrd_geodf.explore() + return output + + geol_geodf = brgi_geodb.InSituTests["GEOL"] + gi_exploration_map(geol_geodf) + return geol_geodf, gi_exploration_map + + +@app.cell(hide_code=True) +def _(geodf_to_df, geol_geodf): + geodf_to_df(geol_geodf) return @@ -320,56 +304,42 @@ def _(mo): r""" With marimo's built-in data exploration tables and dataframes, it's also really easy to filter and visualize the GI data. - For example, in the `InSitu_ISPT` table (SPT data) you could apply a filter to the `ISPT_NVAL` (SPT N-value) of e.g. 1 - 10. When you then select those rows and then scroll to the map below, you'll see all the locations where soft soils were encountered. + For example, in the `ISPT` table (SPT data) you could apply a filter to the `ISPT_NVAL` column (SPT N-value) of e.g. 1 - 10. When you then select those rows and then scroll to the map below, you'll see all the locations where soft soils were encountered. """ ) return @app.cell(hide_code=True) -def _(brgi_db, mo): - explore_brgi_table = mo.ui.dropdown(brgi_db, value="InSitu_ISPT") - mo.md(f"Select the GI table you want to explore: {explore_brgi_table}") +def _(brgi_geodb, mo): + explore_brgi_table = mo.ui.dropdown(brgi_geodb.InSituTests, value="ISPT") + mo.md(f"Select the In-Situ Test results you want to explore: {explore_brgi_table}") return (explore_brgi_table,) @app.cell(hide_code=True) -def _(explore_brgi_table, mo): - filtered_table = mo.ui.table(explore_brgi_table.value) +def _(explore_brgi_table, geodf_to_df, mo): + spt_1_10 = [1, 2, 13, 28, 29, 30, 47, 48, 50, 52, 68, 69, 96, 101, 116, 117, 118, 119, 120, 123, 139, 140, 141, 142, 162, 163, 164, 166, 168, 173, 184, 185, 189, 191, 198, 199, 213, 214, 215, 244, 245, 251, 259, 261, 275, 277, 279, 281, 295, 299, 331, 333, 334, 335, 350, 375, 393, 396, 407, 409, 411, 413, 414, 415, 416, 419, 420, 421, 444, 446, 454, 455, 456, 458, 459, 461, 479, 481, 495, 496, 499, 515, 517, 519, 530, 531, 534, 546, 547, 548, 578, 610, 725, 726, 814, 832, 833, 834, 835, 849, 850, 851, 881, 895, 896, 947, 957, 990, 993, 1035, 1052, 1066, 1067, 1068, 1069, 1090, 1091, 1093, 1131, 1132, 1163, 1181, 1182, 1183, 1184, 1193, 1194, 1195, 1197, 1199, 1222, 1251, 1267, 1285, 1286, 1287, 1302, 1319, 1491, 1679, 1727, 1731, 1782, 1787, 1811, 1814, 1870, 1898, 1899, 1900, 1919, 1921, 1923, 1944, 1948, 1949, 1950, 1955, 1957, 1961, 1962, 1967, 1973, 1980, 1988, 1989, 2014, 2029, 2030, 2035, 2036, 2037, 2046, 2060, 2066, 2072, 2078, 2098, 2115, 2116, 2125, 2126, 2127, 2128, 2145, 2150, 2152, 2159, 2160, 2161, 2164, 2174, 2175, 2186, 2188, 2191, 2194, 2195, 2196, 2198, 2204, 2205, 2206, 2207, 2208, 2212, 2233, 2240, 2241, 2242, 2244, 2251, 2252, 2254, 2255, 2256, 2258, 2266, 2267, 2268, 2269, 2270, 2286, 2287, 2288, 2297, 2299, 2300, 2302, 2303, 2307, 2314, 2315, 2317, 2336, 2337, 2338, 2339, 2340, 2341, 2343, 2349, 2350, 2351, 2352, 2374, 2375, 2380, 2394, 2397, 2404, 2406, 2417, 2421, 2422, 2434, 2457, 2479, 2480, 2482, 2493, 2504, 2505, 2523, 2525, 2526, 2535, 2537, 2548, 2552, 2565, 2567, 2582, 2584, 2601, 2602, 2622, 2626, 2636, 2638, 2639, 2648, 2649, 2664, 2666, 2667, 2677, 2679, 2701, 2717, 2718, 2719, 2720, 2723, 2742, 2744, 2745, 2746, 2747, 2750, 2754, 2755, 2761, 2766, 2769, 2785, 2786, 2787, 2802, 2807, 2825, 2826, 2844, 2848, 2874, 2875, 2909, 2921, 2935, 2936, 2937, 2964, 2965, 2966, 2967, 2969, 2977, 2978, 2996, 3010, 3011, 3012, 3016, 3043, 3045, 3087, 3088, 3091, 3094, 3107, 3108, 3110, 3112, 3120, 3121, 3122, 3136, 3137, 3138, 3139, 3140, 3156, 3157, 3158, 3161, 3173, 3175, 3177, 3178, 3188, 3192, 3203, 3204, 3205, 3206, 3207, 3221, 3222, 3245, 3246, 3247, 3248, 3249, 3272, 3286, 3287, 3288, 3299, 3300, 3373, 3374, 3377, 3378, 3390, 3391, 3413, 3414, 3415, 3416, 3417, 3418, 3421, 3422, 3450, 3451, 3452, 3464, 3486, 3487, 3489, 3490, 3493, 3494, 3524, 3533] + filtered_table = mo.ui.table( + geodf_to_df(explore_brgi_table.value), initial_selection=spt_1_10 + ) filtered_table return (filtered_table,) @app.cell(hide_code=True) -def _(brgi_geodb, filtered_table, gpd, mo): - def gi_exploration_map(filtered_brgi_table): - if "location_uid" not in filtered_brgi_table.value.columns: - output = mo.md( - "No interactive map with the data selected in the table above can be shown, because the you're exploring isn't linked to the `LonLatHeight` table with a `location_uid` column, i.e. doesn't have `location_uid` as a foreign key." - ).callout("warn") - else: - filtered_df = filtered_brgi_table.value.merge( - brgi_geodb["LonLatHeight"], on="location_uid", how="inner" - ) - filtered_gdf = gpd.GeoDataFrame( - filtered_df, - geometry=filtered_df["geometry"], - crs="EPSG:4326", # 4326 is the WGS84 (lon, lat) EPSG code - ) - output = filtered_gdf.explore() - return output - - gi_exploration_map(filtered_table) - return (gi_exploration_map,) +def _(explore_brgi_table, filtered_table, gi_exploration_map): + gi_exploration_map(explore_brgi_table.value.loc[filtered_table.value.index]) + return @app.cell(hide_code=True) def _(mo): mo.md( r""" - Something else you might be interested in, is where the weathering grade of the soil or rock is low. Weathering grades range from `I` (Fresh Rock) to `VI` (Residual Soil). All rock with a weathering grade of `III` (Moderately Decomposed) or better is still considered competent rock. + Something else you might be interested in, is where the weathering grade of the soil or rock is low. Weathering grades range from `I` (Fresh Rock) to `VI` (Residual Soil). All rock with a weathering grade of `III` (Moderately Decomposed) or better is considered competent rock. - The weathering grades can be found in the `WETH_GRAD` column in the `InSitu_WETH` table (Weathering data). Therefore, to find all competent rock, we need to filter out all the rows that contain a `V`, which you can do in the widget below. + The weathering grades can be found in the `WETH_GRAD` column in the `WETH` table (Weathering grades). Therefore, to find all competent rock, we need to filter out all the rows that contain a `V`, which you can do in the widget below. That widget also shows the Python code that creates the filter: @@ -383,22 +353,22 @@ def _(mo): @app.cell(hide_code=True) -def _(brgi_db, mo): - explore_brgi_df = mo.ui.dropdown(brgi_db, value="InSitu_WETH") +def _(brgi_geodb, mo): + explore_brgi_df = mo.ui.dropdown(brgi_geodb.InSituTests, value="WETH") mo.md(f"Select the GI table you want to explore: {explore_brgi_df}") return (explore_brgi_df,) -@app.cell -def _(explore_brgi_df, mo): - filtered_df = mo.ui.dataframe(explore_brgi_df.value) +@app.cell(hide_code=True) +def _(explore_brgi_df, geodf_to_df, mo): + filtered_df = mo.ui.dataframe(geodf_to_df(explore_brgi_df.value)) filtered_df return (filtered_df,) -@app.cell -def _(filtered_df, gi_exploration_map): - gi_exploration_map(filtered_df) +@app.cell(hide_code=True) +def _(explore_brgi_df, filtered_df, gi_exploration_map): + gi_exploration_map(explore_brgi_df.value.loc[filtered_df.value.index]) return @@ -406,12 +376,12 @@ def _(filtered_df, gi_exploration_map): def _(mo): mo.md( r""" - ## Saving the GI geospatial database as a GeoPackage (.gpkg) + ## Saving the GI database as a GeoPackage (.gpkg) - Finally, lets write, i.e. persist `brgi_geodb` - a Python dictionary of `geopandas.GeoDataFrames` - to an actual geospatial database file, so we can share our GI data with others. + Finally, lets write, i.e. persist `brgi_geodb` - a Python dictionary of `geopandas.GeoDataFrames` - to an actual database file, so we can share our GI data with others. For example, to reuse it in other notebooks, create dashboards, access the GI data in QGIS or ArcGIS, and more... - A GeoPackage is an OGC-standardized extension of SQLite (a relational database in a single file, .sqlite or .db) that allows you to store any type of GIS data (both raster as well as vector data) in a single file that has the .gpkg extension. Therefore, many (open-source) GIS software packages support GeoPackage! + A GeoPackage is an OGC-standardized extension of SQLite (a relational database in a single file, .sqlite or .db) that allows you to store any type of GIS data (both raster as well as vector data) in a single file that has the .gpkg extension. Therefore, QGSI, ArcGIS and many other (open-source) GIS software packages support GeoPackage! > [What about Shapefile and GeoJSON?](#what-about-shapefile-and-geojson) """ @@ -419,11 +389,13 @@ def _(mo): return -@app.cell -def _(brgi_geodb, mo, platform, write_gi_db_to_gpkg): +@app.cell(hide_code=True) +def _(brgi_geodb, mo, platform, write_brgi_db_to_file): output = None if platform.system() != "Emscripten": - write_gi_db_to_gpkg(brgi_geodb, mo.notebook_dir() / "kaitak_gi.gpkg") + write_brgi_db_to_file( + brgi_geodb, mo.notebook_dir() / "kaitak_gi.gpkg", driver="GPKG" + ) else: output = mo.md( "Writing a GeoPackage from WebAssembly (marimo playground) causes geopandas to think that the GeoDataFrames in the `brgi_geodb` don't have a geometry column. You can [download the GeoPackage from GitHub](https://github.com/bedrock-engineer/bedrock-ge/blob/main/examples/hk_kaitak_ags3/kaitak_gi.gpkg)" @@ -460,7 +432,7 @@ def _(mo): Bluntly put, Shapefile is a bad format. - Among other problems, Shapefile isn't just a single file. One has to at least share three files [(*.shp, *.dbf, *.shx)](https://en.wikipedia.org/wiki/Shapefile#Mandatory_files), which doesn't include the definition of a CRS. In case that doesn't sound terrible enough to you yet, please have a look at the fantastic website [switchfromshapefile.org](http://switchfromshapefile.org/). + Among other problems, Shapefile isn't just a single file. One has to at least share three files [(\*.shp, \*.dbf, \*.shx)](https://en.wikipedia.org/wiki/Shapefile#Mandatory_files), which doesn't include the definition of a CRS. In case that doesn't sound terrible enough to you yet, please have a look at the fantastic website [switchfromshapefile.org](http://switchfromshapefile.org/). ### GeoJSON diff --git a/examples/hk_kaitak_ags3/kaitak_ags3.zip b/examples/hk_kaitak_ags3/kaitak_ags3.zip index adc7326..543c5f5 100644 Binary files a/examples/hk_kaitak_ags3/kaitak_ags3.zip and b/examples/hk_kaitak_ags3/kaitak_ags3.zip differ diff --git a/examples/hk_kaitak_ags3/kaitak_gi.gpkg b/examples/hk_kaitak_ags3/kaitak_gi.gpkg index 640ec48..43e9087 100644 Binary files a/examples/hk_kaitak_ags3/kaitak_gi.gpkg and b/examples/hk_kaitak_ags3/kaitak_gi.gpkg differ diff --git a/pyproject.toml b/pyproject.toml index 55c105f..07ae443 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ authors = [ ] license = {text = "Apache Software License (Apache 2.0)"} readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" dependencies = [ "geopandas~=1.0", "openpyxl~=3.0", @@ -55,7 +55,6 @@ classifiers = [ "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: GIS", "Programming Language :: Python", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", diff --git a/sandbox/ags3_to_gis.ipynb b/sandbox/ags3_to_gis.ipynb deleted file mode 100644 index 31eb1ef..0000000 --- a/sandbox/ags3_to_gis.ipynb +++ /dev/null @@ -1,3407 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from pathlib import Path\n", - "\n", - "import pandas as pd\n", - "from pyproj import CRS\n", - "\n", - "from bedrock.gi.ags.read import ags_to_dfs\n", - "from bedrock.gi.ags.transform import ags3_db_to_no_gis_brgi_db\n", - "from bedrock.gi.concatenate import concatenate_databases\n", - "from bedrock.gi.gis_geometry import calculate_gis_geometry\n", - "from bedrock.gi.validate import check_brgi_database, check_no_gis_brgi_database\n", - "from bedrock.gi.write import write_gi_db_to_excel, write_gi_db_to_gpkg\n", - "\n", - "# pd.set_option(\"display.max_rows\", None)\n", - "# pd.set_option(\"display.max_columns\", None)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "90 Ground Investigation files for the area around Kai Tak, Hong Kong.\n" - ] - } - ], - "source": [ - "cwd = Path.cwd()\n", - "gi_dir = cwd.parent / \"data\" / \"ags3\" / \"kaitak\"\n", - "gi_files = sorted(list(gi_dir.glob(\"**/*.ags\")))\n", - "\n", - "print(\n", - " f\"{len(gi_files)} Ground Investigation files for the area around Kai Tak, Hong Kong.\"\n", - ")\n", - "# gi_files" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "crs = CRS(2326)\n", - "output_path = cwd / \"kaitak_gi\"" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "πŸ–₯️ Processing 21659/9508008.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 70 (2) doesn't match the number of columns of group DREM (3)!\n", - "DREM headers: ['HOLE_ID', 'DREM_DPTH', 'DREM_REM']\n", - "Line 70: ['\"MBH36/01', '57.35 (200 / 70mm)\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.8\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HDIA', 'DREM', 'PTIM', 'SAMP', 'FRAC', 'CORE', 'ISPT', 'HOLE', 'IVAN', 'GEOL', 'WETH', 'DETL']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_DREM', 'InSitu_PTIM', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_IVAN', 'InSitu_GEOL', 'InSitu_WETH', 'InSitu_DETL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21659/9508008.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21659/9508008.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21659/9508008.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/9508010.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'ISPT', 'DREM', 'SAMP', 'GEOL', 'DETL', 'FRAC', 'HDIA', 'PTIM', 'WETH', 'CORE', 'IVAN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_ISPT', 'InSitu_DREM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_WETH', 'InSitu_CORE', 'InSitu_IVAN']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/9508010.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/9508010.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/9508010.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP141.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP141.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP141.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP141.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP221.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP221.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP221.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP221.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP231.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP231.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP231.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP231.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP232.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP232.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP232.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP232.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP241.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP241.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP241.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP241.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP242.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP242.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP242.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP242.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP251.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP251.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP251.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP251.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP261.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP261.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP261.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP261.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP321.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 28 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 28: ['\"SEK/MCP32/1', '19.40,\"21.8', 'Silty Clay', 'CLAYZ\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP321.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP321.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP321.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP322.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP322.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP322.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP322.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP331.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP331.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP331.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP331.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP332.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP332.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP332.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP332.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP341.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 16 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 16: ['\"SEK/MCP34/1', '8.10', '9.60', 'Silty Clay,\"CLAYZ\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP341.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP341.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP341.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP342.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP342.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP342.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP342.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP351.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP351.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP351.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP351.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP431.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP431.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP431.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP431.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP521.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP521.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP521.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP521.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP531.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP531.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP531.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP531.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP541.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP541.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP541.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP541.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP621.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP621.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP621.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP621.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP631.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP631.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP631.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP631.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP641.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 17 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 17: ['\"SEK/MCP64/1', '13.1', '14.4', 'Sandy Silty Clay,\"CLAYZS\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 24 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 24: ['\"SEK/MCP64/1', '21.50', '23.90', 'Sandy Silty Clay,\"CLAYZS\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP641.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP641.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP641.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP711.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP711.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP711.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP711.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP712.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP712.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP712.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP712.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP713.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP713.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP713.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP713.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP721.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 28 (3) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 28: ['\"SEK/MCP72/1', '19.40,\"21.20,\"Sand', 'SAND\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 29 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 29: ['\"SEK/MCP72/1', '21.20,\"22.3', 'Silty Clay', 'CLAYZ\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 30 (4) doesn't match the number of columns of group GEOL (5)!\n", - "GEOL headers: ['HOLE_ID', 'GEOL_TOP', 'GEOL_BASE', 'GEOL_DESC', 'GEOL_LEG']\n", - "Line 30: ['\"SEK/MCP72/1', '22.30,\"22.5', 'Silty Sand', 'SANDZ\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP721.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP721.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP721.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP722.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP722.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP722.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP722.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP731.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP731.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP731.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP731.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP732.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP732.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP732.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP732.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP811.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP811.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP811.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP811.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP821.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP821.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP821.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP821.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 21761/MCP911.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.10\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 21761/MCP911.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 21761/MCP911.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 21761/MCP911.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/9508014.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 4397 (1) doesn't match the number of columns of group IVAN (5)!\n", - "IVAN headers: ['HOLE_ID', 'IVAN_DPTH', 'IVAN_REM', 'IVAN_IVAN', 'IVAN_IVAR']\n", - "Line 4397: ['\\x1a']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'ISPT', 'DREM', 'PTIM', 'GEOL', 'DETL', 'FRAC', 'HDIA', 'SAMP', 'WETH', 'CORE', 'IVAN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_ISPT', 'InSitu_DREM', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_HDIA', 'InSitu_WETH', 'InSitu_CORE', 'InSitu_IVAN']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/9508014.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/9508014.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/9508014.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP142.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP142.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP142.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP142.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP233.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP233.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP233.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP233.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP234.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP234.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP234.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP234.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP243.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP243.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP243.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP243.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP252.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP252.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP252.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP252.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP253.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP253.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP253.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP253.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP254.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP254.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP254.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP254.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP255.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP255.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP255.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP255.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP333.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP333.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP333.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP333.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP334.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP334.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP334.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP334.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP335.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP335.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP335.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP335.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP343.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP343.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP343.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP343.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP352.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP352.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP352.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP352.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP353.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP353.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP353.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP353.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP421.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP421.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP421.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP421.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP432.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP432.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP432.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP432.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP433.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP433.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP433.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP433.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP441.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP441.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP441.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP441.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP522.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP522.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP522.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP522.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP523.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP523.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP523.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP523.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP611.AGS ...\n", - "\n", - "🚨 CAUTION: The number of columns on line 1546 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1546: ['\"SEK/MCP61/1', '14.962', '21.9689', ' 0.4380', '14.6459', ' 21.9', ' 132.8', ' 0.0', ' 0.\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x005', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1715 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1715: ['\"SEK/MCP61/1', '16.650', ' 5.9643', ' 0.6640', ' 3.9762', ' 33.2', ' 240.2', ' \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0044.6', ' 415.6', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1797 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1797: ['\"SEK/MCP61/1', '17.497', ' 1.3607', ' 0.6160', ' 0.9071', ' 30.8', ' 792.\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x0007', ' 32.4', ' 774.5', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1879 (14) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1879: ['\"SEK/MCP61/1', '18.343', ' 8.5958', ' 0.5640', ' 5.7305', ' 28.2\",\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\" 5.4987', ' 28.3', ' 334.6', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 1961 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 1961: ['\"SEK/MCP61/1', '19.184', ' 9.4110', ' 0.5660', ' 6.2740', ' \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x004700', ' 5.0512', ' 23.5', ' 278.2', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "\n", - "🚨 CAUTION: The number of columns on line 2043 (15) doesn't match the number of columns of group STCN (13)!\n", - "STCN headers: ['HOLE_ID', 'STCN_DPTH', 'STCN_FORC', 'STCN_FRIC', 'STCN_RES', 'STCN_FRES', 'STCN_PWP1', 'STCN_PWP2', 'STCN_PWP3', 'STCN_TYP', 'STCN_REF', 'STCN_CON', 'STCN_TEMP']\n", - "Line 2043: ['\"SEK/MCP61/1', '20.029', ' 1.6185', ' 0.6620', ' 1.07\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00', ' 0.6700', ' 1.4506', ' 33.5', ' 861.8', ' 0.0', ' 0.0', 'PC', '927', '', '\"']\n", - "\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP611.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP611.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP611.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP622.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP622.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP622.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP622.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632A.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632A.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632A.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632A.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632B.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632B.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632B.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632B.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP632C.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP632C.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP632C.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP632C.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP633.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP633.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP633.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP633.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP634.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP634.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP634.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP634.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP642.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP642.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP642.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP642.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP643.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP643.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP643.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP643.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP714.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP714.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP714.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP714.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP723.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP723.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP723.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP723.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP724.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP724.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP724.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP724.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP725.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP725.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP725.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP725.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP726.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP726.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP726.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP726.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP727.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP727.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP727.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP727.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP733.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP733.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP733.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP733.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP822.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP822.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP822.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP822.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 27345/MCP822A.AGS ...\n", - "AGS 3 data was read for Project GE/95/08.14\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'GEOL', 'STCN', 'IPRM']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Your AGS 3 data doesn't contain a SAMP group, i.e. samples.\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "\n", - "🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!\n", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...\n", - "\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'InSitu_GEOL', 'InSitu_IPRM']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 27345/MCP822A.AGS...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 27345/MCP822A.AGS to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 27345/MCP822A.AGS to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 31241/GE9908.7.ags ...\n", - "AGS 3 data was read for Project GE/99/08.7\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'PTIM', 'SAMP', 'GEOL']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_PTIM', 'InSitu_GEOL']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 31241/GE9908.7.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 31241/GE9908.7.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 31241/GE9908.7.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 36225/wo29_10b.ags ...\n", - "AGS 3 data was read for Project GE/2001/29.10B\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FRAC', 'GEOL', 'HDIA', 'ISPT', 'IVAN', 'PTIM', 'SAMP', 'STCN', 'WETH', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_ISPT', 'InSitu_IVAN', 'InSitu_PTIM', 'InSitu_WETH', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 36225/wo29_10b.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 36225/wo29_10b.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 36225/wo29_10b.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 43073/ge-2005-03-25 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2005/03.25\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'GEOL', 'HDIA', 'POBS', 'PREF', 'PTIM', 'SAMP', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_POBS', 'InSitu_PREF', 'InSitu_PTIM', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 43073/ge-2005-03-25 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 43073/ge-2005-03-25 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 43073/ge-2005-03-25 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 44751/GE-2005-03-57 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2005/03.57\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'GEOL', 'HDIA', 'PTIM', 'SAMP', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_PTIM', '?LEGD', 'UNIT', 'ABBR', 'DICT']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 44751/GE-2005-03-57 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 44751/GE-2005-03-57 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 44751/GE-2005-03-57 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 47615/GE-2007-13-4 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2007/13.4\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'FRAC', 'GEOL', 'HDIA', 'IPRM', 'ISPT', 'PTIM', 'SAMP', 'WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_IPRM', 'InSitu_ISPT', 'InSitu_PTIM', 'InSitu_WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 47615/GE-2007-13-4 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 47615/GE-2007-13-4 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 47615/GE-2007-13-4 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 48525/GE-2008-03-6 rev0.ags ...\n", - "AGS 3 data was read for Project GE/2008/03.6\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'FLSH', 'FRAC', 'GEOL', 'HDIA', 'ISPT', 'IVAN', 'PTIM', 'SAMP', 'WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_FLSH', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_ISPT', 'InSitu_IVAN', 'InSitu_PTIM', 'InSitu_WETH', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 48525/GE-2008-03-6 rev0.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 48525/GE-2008-03-6 rev0.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 48525/GE-2008-03-6 rev0.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 50530/bh and tp ags.ags ...\n", - "AGS 3 data was read for Project REPORT_NO_50530\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'DREM', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IVAN', 'IPRM', 'CDIA', 'DISC', 'FLSH', 'WETH', 'DICT', 'POINT', 'PROJECT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'DISC' to Bedrock GI 'InSitu_DISC' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_DREM', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IVAN', 'InSitu_IPRM', 'InSitu_CDIA', 'InSitu_DISC', 'InSitu_FLSH', 'InSitu_WETH', 'DICT', 'POINT', 'PROJECT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 50530/bh and tp ags.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_DISC' table aligns with Bedrock's 'InSitu_DISC' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 50530/bh and tp ags.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 50530/bh and tp ags.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 50542/mbh & pbh final ags.ags ...\n", - "AGS 3 data was read for Project REPORT_NO_50542\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'DREM', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'CORE', 'CDIA', 'FLSH', 'WETH', 'DICT', 'POINT', 'PROJECT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'DREM' to Bedrock GI 'InSitu_DREM' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_DREM', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_CORE', 'InSitu_CDIA', 'InSitu_FLSH', 'InSitu_WETH', 'DICT', 'POINT', 'PROJECT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 50542/mbh & pbh final ags.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 50542/mbh & pbh final ags.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 50542/mbh & pbh final ags.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 51504/GE-2008-03-25 Rev2.ags ...\n", - "AGS 3 data was read for Project GE/2008/03.25\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'CDIA', 'CORE', 'DETL', 'GEOL', 'HDIA', 'PTIM', 'SAMP', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_CDIA', 'InSitu_CORE', 'InSitu_DETL', 'InSitu_GEOL', 'InSitu_HDIA', 'InSitu_PTIM', '?LEGD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 51504/GE-2008-03-25 Rev2.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 51504/GE-2008-03-25 Rev2.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 51504/GE-2008-03-25 Rev2.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 53815/GE200903.38.ags ...\n", - "AGS 3 data was read for Project GE/2009/03.38\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 53815/GE200903.38.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 53815/GE200903.38.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 53815/GE200903.38.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 53816/GE200903.38.ags ...\n", - "AGS 3 data was read for Project GE/2009/03.38\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 53816/GE200903.38.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 53816/GE200903.38.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 53816/GE200903.38.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 54941/GE2010.02.50A.ags ...\n", - "AGS 3 data was read for Project GE/2010/02.50A\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'PTIM', 'SAMP', 'GEOL', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_PTIM', 'InSitu_GEOL', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 54941/GE2010.02.50A.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 54941/GE2010.02.50A.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 54941/GE2010.02.50A.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 55191/GE2010.02.50.ags ...\n", - "AGS 3 data was read for Project GE/2010/02.50\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'CDIA', 'PTIM', 'SAMP', 'CORE', 'FRAC', 'GEOL', 'DETL', 'ISPT', 'WETH', 'IVAN', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'IVAN' to Bedrock GI 'InSitu_IVAN' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_CDIA', 'InSitu_PTIM', 'InSitu_CORE', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_ISPT', 'InSitu_WETH', 'InSitu_IVAN', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 55191/GE2010.02.50.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 55191/GE2010.02.50.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 55191/GE2010.02.50.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 58357/GE201304.18A.ags ...\n", - "AGS 3 data was read for Project GE/2013/04.18A\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'PRTG', 'PRTL', 'PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'PRTG' to Bedrock GI 'InSitu_PRTG' table...\n", - "Transforming AGS 3 group 'PRTL' to Bedrock GI 'InSitu_PRTL' table...\n", - "Transforming AGS 3 group 'PRTD' to Bedrock GI 'InSitu_PRTD' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'InSitu_PRTG', 'InSitu_PRTL', 'InSitu_PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 58357/GE201304.18A.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_PRTG' table aligns with Bedrock's 'InSitu_PRTG' table schema without GIS geometry.\n", - "'InSitu_PRTL' table aligns with Bedrock's 'InSitu_PRTL' table schema without GIS geometry.\n", - "'InSitu_PRTD' table aligns with Bedrock's 'InSitu_PRTD' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 58357/GE201304.18A.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 58357/GE201304.18A.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 58358/GE201304.18A.ags ...\n", - "AGS 3 data was read for Project GE/2013/04.18A\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'PTIM', 'SAMP', 'GEOL', 'DETL', 'WETH', '?LEGD', 'FRAC', 'CORE', 'ISPT', 'PREF', 'POBS', 'IPRM', 'PRTG', 'PRTL', 'PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Transforming AGS 3 group 'IPRM' to Bedrock GI 'InSitu_IPRM' table...\n", - "Transforming AGS 3 group 'PRTG' to Bedrock GI 'InSitu_PRTG' table...\n", - "Transforming AGS 3 group 'PRTL' to Bedrock GI 'InSitu_PRTL' table...\n", - "Transforming AGS 3 group 'PRTD' to Bedrock GI 'InSitu_PRTD' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_PTIM', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_WETH', '?LEGD', 'InSitu_FRAC', 'InSitu_CORE', 'InSitu_ISPT', 'InSitu_PREF', 'InSitu_POBS', 'InSitu_IPRM', 'InSitu_PRTG', 'InSitu_PRTL', 'InSitu_PRTD', 'DICT', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 58358/GE201304.18A.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_PRTG' table aligns with Bedrock's 'InSitu_PRTG' table schema without GIS geometry.\n", - "'InSitu_PRTL' table aligns with Bedrock's 'InSitu_PRTL' table schema without GIS geometry.\n", - "'InSitu_PRTD' table aligns with Bedrock's 'InSitu_PRTD' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 58358/GE201304.18A.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 58358/GE201304.18A.ags to existing Bedrock GI database...\n", - "\n", - "\n", - "πŸ–₯️ Processing 64475/ASD012162 AGS.ags ...\n", - "AGS 3 data was read for Project J3573\n", - "This Ground Investigation data contains groups:\n", - "['PROJ', 'HOLE', 'HDIA', 'CDIA', 'PTIM', 'SAMP', 'CORE', 'FRAC', 'GEOL', 'DETL', 'ISPT', 'WETH', 'FLSH', 'PREF', 'POBS', 'UNIT', 'ABBR']\n", - "\n", - "Transforming AGS 3 groups to Bedrock tables...\n", - "Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...\n", - "Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...\n", - "Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...\n", - "Transforming AGS 3 group 'HDIA' to Bedrock GI 'InSitu_HDIA' table...\n", - "Transforming AGS 3 group 'CDIA' to Bedrock GI 'InSitu_CDIA' table...\n", - "Transforming AGS 3 group 'PTIM' to Bedrock GI 'InSitu_PTIM' table...\n", - "Transforming AGS 3 group 'CORE' to Bedrock GI 'InSitu_CORE' table...\n", - "Transforming AGS 3 group 'FRAC' to Bedrock GI 'InSitu_FRAC' table...\n", - "Transforming AGS 3 group 'GEOL' to Bedrock GI 'InSitu_GEOL' table...\n", - "Transforming AGS 3 group 'DETL' to Bedrock GI 'InSitu_DETL' table...\n", - "Transforming AGS 3 group 'ISPT' to Bedrock GI 'InSitu_ISPT' table...\n", - "Transforming AGS 3 group 'WETH' to Bedrock GI 'InSitu_WETH' table...\n", - "Transforming AGS 3 group 'FLSH' to Bedrock GI 'InSitu_FLSH' table...\n", - "Transforming AGS 3 group 'PREF' to Bedrock GI 'InSitu_PREF' table...\n", - "Transforming AGS 3 group 'POBS' to Bedrock GI 'InSitu_POBS' table...\n", - "Done\n", - "The Bedrock database contains the following tables:\n", - "['Project', 'Location', 'Sample', 'InSitu_HDIA', 'InSitu_CDIA', 'InSitu_PTIM', 'InSitu_CORE', 'InSitu_FRAC', 'InSitu_GEOL', 'InSitu_DETL', 'InSitu_ISPT', 'InSitu_WETH', 'InSitu_FLSH', 'InSitu_PREF', 'InSitu_POBS', 'UNIT', 'ABBR']\n", - "\n", - "🧐 Validating the Bedrock GI database from AGS file 64475/ASD012162 AGS.ags...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully converted 64475/ASD012162 AGS.ags to Bedrock GI database and validated!\n", - "\n", - "🧡 Concatenating Bedrock GI database for 64475/ASD012162 AGS.ags to existing Bedrock GI database...\n", - "\n", - "🧐 Checking the concatenated, i.e. combined Bedrock GI database from the 90 provided...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry.\n", - "'InSitu_HDIA' table aligns with Bedrock's 'InSitu_HDIA' table schema without GIS geometry.\n", - "'InSitu_DREM' table aligns with Bedrock's 'InSitu_DREM' table schema without GIS geometry.\n", - "'InSitu_PTIM' table aligns with Bedrock's 'InSitu_PTIM' table schema without GIS geometry.\n", - "'InSitu_FRAC' table aligns with Bedrock's 'InSitu_FRAC' table schema without GIS geometry.\n", - "'InSitu_CORE' table aligns with Bedrock's 'InSitu_CORE' table schema without GIS geometry.\n", - "'InSitu_ISPT' table aligns with Bedrock's 'InSitu_ISPT' table schema without GIS geometry.\n", - "'InSitu_IVAN' table aligns with Bedrock's 'InSitu_IVAN' table schema without GIS geometry.\n", - "'InSitu_GEOL' table aligns with Bedrock's 'InSitu_GEOL' table schema without GIS geometry.\n", - "'InSitu_WETH' table aligns with Bedrock's 'InSitu_WETH' table schema without GIS geometry.\n", - "'InSitu_DETL' table aligns with Bedrock's 'InSitu_DETL' table schema without GIS geometry.\n", - "'InSitu_IPRM' table aligns with Bedrock's 'InSitu_IPRM' table schema without GIS geometry.\n", - "'InSitu_CDIA' table aligns with Bedrock's 'InSitu_CDIA' table schema without GIS geometry.\n", - "'InSitu_FLSH' table aligns with Bedrock's 'InSitu_FLSH' table schema without GIS geometry.\n", - "'InSitu_POBS' table aligns with Bedrock's 'InSitu_POBS' table schema without GIS geometry.\n", - "'InSitu_PREF' table aligns with Bedrock's 'InSitu_PREF' table schema without GIS geometry.\n", - "'InSitu_DISC' table aligns with Bedrock's 'InSitu_DISC' table schema without GIS geometry.\n", - "'InSitu_PRTG' table aligns with Bedrock's 'InSitu_PRTG' table schema without GIS geometry.\n", - "'InSitu_PRTL' table aligns with Bedrock's 'InSitu_PRTL' table schema without GIS geometry.\n", - "'InSitu_PRTD' table aligns with Bedrock's 'InSitu_PRTD' table schema without GIS geometry.\n", - "\n", - "βœ… Succesfully validated that the 90 AGS 3 files provided were put together correctly in a Bedrock GI database.\n" - ] - } - ], - "source": [ - "brgi_db = {}\n", - "for gi_file in gi_files:\n", - " print(f\"\\nπŸ–₯️ Processing {gi_file.parent.name}/{gi_file.name} ...\")\n", - " with open(gi_file) as ags_file:\n", - " ags3_data = ags_file.read()\n", - " ags3_db = ags_to_dfs(ags3_data)\n", - " report_no = gi_file.parent.name\n", - " ags3_db[\"PROJ\"][\"REPORT_NO\"] = int(report_no)\n", - " ags3_db[\"PROJ\"][\"PROJ_ID\"] = (\n", - " report_no + \"/\" + ags3_db[\"PROJ\"][\"PROJ_ID\"].astype(str)\n", - " )\n", - " # Remove (Static) CPT AGS 3 group 'STCN' from brgi_db, because CPT data processing needs to be reviewed.\n", - " # Not efficient to create a GIS point for every point where a CPT measures a value.\n", - " if \"STCN\" in ags3_db.keys():\n", - " del ags3_db[\"STCN\"]\n", - "\n", - " brgi_db_from_1_ags3_file = ags3_db_to_no_gis_brgi_db(ags3_db, crs)\n", - "\n", - " print(\n", - " f\"🧐 Validating the Bedrock GI database from AGS file {gi_file.parent.name}/{gi_file.name}...\"\n", - " )\n", - " check_no_gis_brgi_database(brgi_db_from_1_ags3_file)\n", - " print(\n", - " f\"\\nβœ… Succesfully converted {gi_file.parent.name}/{gi_file.name} to Bedrock GI database and validated!\\n\"\n", - " )\n", - " print(\n", - " f\"🧡 Concatenating Bedrock GI database for {gi_file.parent.name}/{gi_file.name} to existing Bedrock GI database...\\n\"\n", - " )\n", - " brgi_db = concatenate_databases(brgi_db, brgi_db_from_1_ags3_file)\n", - " # check_no_gis_brgi_database(brgi_db)\n", - "\n", - "# Drop all rows that have completely duplicate rows in the Project table\n", - "brgi_db[\"Project\"] = brgi_db[\"Project\"].drop_duplicates()\n", - "# Then drop all that unfortunately still have a duplicate project_uid\n", - "brgi_db[\"Project\"] = brgi_db[\"Project\"].drop_duplicates(\n", - " subset=\"project_uid\", keep=\"first\"\n", - ")\n", - "\n", - "print(\n", - " f\"🧐 Checking the concatenated, i.e. combined Bedrock GI database from the {len(gi_files)} provided...\"\n", - ")\n", - "check_no_gis_brgi_database(brgi_db)\n", - "print(\n", - " f\"\\nβœ… Succesfully validated that the {len(gi_files)} AGS 3 files provided were put together correctly in a Bedrock GI database.\"\n", - ")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Projects with lab data:\n", - "\n", - "| REPORT_NO | PROJ_ID | File name |\n", - "|-----------|----------|-----------|\n", - "| 21651 | GE/95/04 |9508008.AGS|" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Calculating GIS geometry for the Bedrock GI database tables...\n", - "Calculating GIS geometry for the Bedrock GI 'Location' table...\n", - "Creating 'LonLatHeight' table with GI locations in WGS84 geodetic coordinates...\n", - " WGS84 geodetic coordinates: (Longitude, Latitude, Ground Level Ellipsoidal Height)\n", - "Calculating GIS geometry for the Bedrock GI 'Sample' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_HDIA' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_DREM' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PTIM' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_FRAC' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_CORE' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_ISPT' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_IVAN' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_GEOL' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_WETH' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_DETL' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_IPRM' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_CDIA' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_FLSH' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_POBS' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PREF' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_DISC' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PRTG' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PRTL' table...\n", - "Calculating GIS geometry for the Bedrock GI 'InSitu_PRTD' table...\n", - "'Project' table aligns with Bedrock's 'Project' table schema.\n", - "'Location' table aligns with Bedrock's 'Location' table schema.\n", - "'Sample' table aligns with Bedrock's 'Sample' table schema.\n" - ] - }, - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "brgi_db = calculate_gis_geometry(brgi_db)\n", - "check_brgi_database(brgi_db)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# Some ISPT_NVAL (SPT count) are not numeric, e.g. 100/0.29.\n", - "# When converting to numeric, these non-numeric values are converted to NaN\n", - "brgi_db[\"InSitu_ISPT\"][\"ISPT_NVAL\"] = pd.to_numeric(\n", - " brgi_db[\"InSitu_ISPT\"][\"ISPT_NVAL\"], errors=\"coerce\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "HOLE_ID object\n", - "ISPT_TOP float64\n", - "ISPT_SEAT float64\n", - "ISPT_MAIN float64\n", - "ISPT_NPEN float64\n", - "ISPT_NVAL float64\n", - "ISPT_TYPE object\n", - "ISPT_REM object\n", - "ISPT_INC1 float64\n", - "ISPT_INC2 float64\n", - "ISPT_INC3 float64\n", - "ISPT_INC4 float64\n", - "ISPT_INC5 float64\n", - "ISPT_INC6 float64\n", - "ISPT_LAST float64\n", - "project_uid object\n", - "location_uid object\n", - "depth_to_top float64\n", - "ISPT_REP object\n", - "ISPT_CAS float64\n", - "ISPT_WAT float64\n", - "ISPT_PEN1 float64\n", - "ISPT_PEN2 float64\n", - "ISPT_PEN3 float64\n", - "ISPT_PEN4 float64\n", - "ISPT_PEN5 float64\n", - "ISPT_PEN6 float64\n", - "elevation_at_top float64\n", - "geometry geometry\n", - "dtype: object" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "spt = brgi_db[\"InSitu_ISPT\"].dtypes\n", - "spt" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Table names shouldn't contain [':', '/', '\\\\', '?', '*', '[', ']'] or spaces and shouldn't be longer than 31 characters.\n", - " Replaced '?LEGD' with 'LEGD'.\n", - "Ground Investigation data has been written to 'c:\\Users\\joost\\ReposWindows\\bedrock-gi\\sandbox\\kaitak_gi.gpkg'.\n" - ] - } - ], - "source": [ - "write_gi_db_to_gpkg(brgi_db, output_path.with_suffix(\".gpkg\"))\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Table names shouldn't contain [':', '/', '\\\\', '?', '*', '[', ']'] or spaces and shouldn't be longer than 31 characters.\n", - " Replaced '?LEGD' with 'LEGD'.\n", - "Ground Investigation data has been written to 'c:\\Users\\joost\\ReposWindows\\bedrock-gi\\sandbox\\kaitak_gi.xlsx'.\n" - ] - } - ], - "source": [ - "write_gi_db_to_excel(brgi_db, output_path.with_suffix(\".xlsx\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Make this Notebook Trusted to load map: File -> Trust Notebook
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "brgi_db[\"LonLatHeight\"].explore()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": ".venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.20" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/sandbox/bedrock_gi_to_speckle.ipynb b/sandbox/bedrock_gi_to_speckle.ipynb deleted file mode 100644 index 0b5bf09..0000000 --- a/sandbox/bedrock_gi_to_speckle.ipynb +++ /dev/null @@ -1,121 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Speckle Stuff" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import datetime as dt\n", - "\n", - "from dotenv import load_dotenv\n", - "from specklepy.api import operations\n", - "from specklepy.api.client import SpeckleClient\n", - "from specklepy.api.credentials import get_default_account\n", - "from specklepy.objects import Base\n", - "from specklepy.objects.geometry import Line, Point\n", - "from specklepy.transports.server import ServerTransport\n", - "\n", - "\n", - "def to_speckle():\n", - " load_dotenv()\n", - " stream_id = \"7fbe8ed384\"\n", - " hole_table_path = \"data/1_split2/HOLE.csv\"\n", - " df = pd.read_csv(hole_table_path, index_col=0)\n", - " client, stream_id = get_stream(stream_id)\n", - "\n", - " # next create a server transport - this is the vehicle through which you will send and receive\n", - " transport = ServerTransport(client=client, stream_id=stream_id)\n", - "\n", - " hash = create_hash(df, transport)\n", - "\n", - " commit_hash(hash, client, stream_id)\n", - "\n", - "\n", - "def get_stream(stream_id):\n", - " # Authenticate with Speckle server\n", - " speckle_server = \"app.speckle.systems\"\n", - " speckle_token = os.environ[\"speckle_token\"]\n", - " client = SpeckleClient(host=speckle_server)\n", - " account = get_default_account()\n", - "\n", - " client.authenticate_with_token(speckle_token)\n", - "\n", - " # create a new stream. this returns the stream id\n", - " if not stream_id:\n", - " stream_id = client.stream.create(name=\"a shiny new stream\")\n", - "\n", - " # use that stream id to get the stream from the server\n", - " new_stream = client.stream.get(id=stream_id)\n", - " return client, stream_id\n", - "\n", - "\n", - "def create_hash(df, transport):\n", - " newObj = Base()\n", - " for i, row in df.iterrows():\n", - " x = row[\"HOLE_NATE\"]\n", - " y = row[\"HOLE_NATN\"]\n", - " z_top = row[\"HOLE_GL\"]\n", - " z_bot = z_top - row[\"HOLE_FDEP\"]\n", - "\n", - " # GisPointElement, GisLineElement lijken niet te werken\n", - " p1 = Point(x=x, y=y, z=z_top)\n", - " p2 = Point(x=x, y=y, z=z_bot)\n", - " line = Line(start=p1, end=p2)\n", - " relevant_cols = [\n", - " \"HOLE_ID\",\n", - " \"HOLE_TYPE\",\n", - " \"HOLE_STAR\",\n", - " \"HOLE_LOG\",\n", - " \"?HOLE_DLOG\",\n", - " \"?HOLE_CHEK\",\n", - " \"?HOLE_DCHK\",\n", - " \"HOLE_REM\",\n", - " \"?HOLE_FLSH\",\n", - " \"HOLE_ENDD\",\n", - " \"HOLE_BACD\",\n", - " \"HOLE_CREW\",\n", - " \"HOLE_INCL\",\n", - " \"HOLE_EXC\",\n", - " ]\n", - "\n", - " for col in relevant_cols:\n", - " line[col] = row[col]\n", - "\n", - " newObj[f\"myline{i}\"] = line\n", - " break\n", - "\n", - " # this serialises the block and sends it to the transport\n", - " hash = operations.send(base=newObj, transports=[transport])\n", - " return hash\n", - "\n", - "\n", - "def commit_hash(hash, client, stream_id):\n", - " # you can now create a commit on your stream with this object\n", - " commid_id = client.commit.create(\n", - " stream_id=stream_id,\n", - " object_id=hash,\n", - " message=f\"these are lines I made in speckle-py at {dt.datetime.now()}\",\n", - " )\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " to_speckle()\n" - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/sandbox/pyproj_3d_transformations.py b/sandbox/pyproj_3d_transformations.py new file mode 100644 index 0000000..b2f6eac --- /dev/null +++ b/sandbox/pyproj_3d_transformations.py @@ -0,0 +1,100 @@ +import marimo + +__generated_with = "0.13.11" +app = marimo.App(width="medium") + + +@app.cell +def _(): + import marimo as mo + from pyproj import CRS, Transformer + from pyproj.crs.crs import CompoundCRS + return CRS, CompoundCRS, Transformer + + +@app.cell +def _(CRS, Transformer): + # https://pyproj4.github.io/pyproj/stable/advanced_examples.html#promote-crs-to-3d + wgs84 = CRS("EPSG:4326") + swiss_proj = CRS("EPSG:2056") + transformer = Transformer.from_crs(wgs84, swiss_proj, always_xy=True) + # 2D Transformation + print(f"2D transform of point {(8.37909, 47.01987, 1000)} from {wgs84} to {swiss_proj} gives:") + print(transformer.transform(8.37909, 47.01987, 1000)) + + wgs84_3d = wgs84.to_3d() + swiss_proj_ellipsoidal_3d = swiss_proj.to_3d() + transformer_ellipsoidal_3d = Transformer.from_crs( + wgs84_3d, + swiss_proj_ellipsoidal_3d, + always_xy=True, + ) + # 3D Transformation + print(f"3D transform of point {(8.37909, 47.01987, 1000)} from {wgs84_3d.to_string()} to {swiss_proj_ellipsoidal_3d} gives:") + print(transformer_ellipsoidal_3d.transform(8.37909, 47.01987, 1000)) + + return swiss_proj, transformer_ellipsoidal_3d, wgs84_3d + + +@app.cell +def _( + CRS, + CompoundCRS, + Transformer, + swiss_proj, + transformer_ellipsoidal_3d, + wgs84_3d, +): + # https://pyproj4.github.io/pyproj/stable/build_crs.html#compound-crs + swiss_lhn95_height = CRS("EPSG:5729") + swiss_compound = CompoundCRS( + name="CH1903+ / LV95 + LHN95 height", + components=[swiss_proj, swiss_lhn95_height] + ) + transformer_wgs84_3d_to_swiss_compound = Transformer.from_crs( + wgs84_3d, + swiss_compound, + always_xy=True, + ) + print(transformer_ellipsoidal_3d.transform(8.37909, 47.01987, 1000)) + return + + +@app.cell +def _(CRS): + uk_grid_27700 = CRS(27700) + uk_3d = uk_grid_27700.to_3d() + swiss_2056 = CRS("EPSG:2056") + swiss_3d = swiss_2056.to_3d() + egm2008_3855 = CRS(3855) + rdnew_nap_7415 = CRS(7415) + wgs84_egm2008_9518 = CRS(9518) + crs_components = extract_crs_components(swiss_3d) + crs_components + return + + +@app.function +def extract_crs_components(compound_crs): + """Extract horizontal and vertical CRS from a compound CRS""" + if not compound_crs.is_compound: + return compound_crs, None + + horizontal_crs = None + vertical_crs = None + + for sub_crs in compound_crs.sub_crs_list: + if sub_crs.is_projected or sub_crs.is_geographic: + print(f"Horizontal CRS {sub_crs.name} is a {sub_crs.type_name} and has EPSG:{sub_crs.to_epsg()}.") + horizontal_crs = sub_crs + elif sub_crs.is_vertical: + print(f"Vertical CRS {sub_crs.name} has EPSG:{sub_crs.to_epsg()}.") + vertical_crs = sub_crs + else: + print(f"This CRS is not horizontal (projected or geographic) nor vertical: {sub_crs.type_name}") + + return horizontal_crs, vertical_crs + + +if __name__ == "__main__": + app.run() diff --git a/src/bedrock_ge/gi/ags.py b/src/bedrock_ge/gi/ags.py new file mode 100644 index 0000000..055a550 --- /dev/null +++ b/src/bedrock_ge/gi/ags.py @@ -0,0 +1,103 @@ +from pathlib import Path +from typing import IO + +from pyproj import CRS + +from bedrock_ge.gi.ags3 import ags3_to_brgi_db_mapping +from bedrock_ge.gi.io_utils import detect_encoding, open_text_data_source +from bedrock_ge.gi.mapping_models import BedrockGIMapping + + +def ags_to_brgi_db_mapping( + source: str | Path | IO[str] | IO[bytes] | bytes, + projected_crs: CRS, + vertical_crs: CRS = CRS(3855), + encoding: str | None = None, +) -> BedrockGIMapping: + """Map AGS 3 or AGS 4 data to the Bedrock GI data model. + + Args: + source (str | Path | IO[str] | IO[bytes] | bytes): The AGS file (str or Path) + or a file-like object that represents the AGS file. + projected_crs (CRS): Projected Coordinate Reference System (CRS). For example: + - OSGB36 / British National Grid: `pyproj.CRS("EPSG:27700")` + - Hong Kong 1980 Grid System: `pyproj.CRS("EPSG:2326")` + vertical_crs (CRS, optional): Vertical CRS. Defaults to EGM2008 height, EPSG:3855 + which measures the orthometric height w.r.t. the Earth Gravitational Model 2008. + - Ordnance Datum Newlyn (ODN) Height: `pyproj.CRS("EPSG:5701")` + - Hong Kong Principle Datum (HKPD) Height: `pyproj.CRS("EPSG:5738")` + encoding (str | None, optional): Encoding of the text file or bytes stream. + Defaults to None. An attempt at detecting the encoding will be made if None. + + Raises: + ValueError: If the data does not match AGS 3 or AGS 4 format. + + Returns: + BedrockGIDatabaseMapping: Object that maps AGS 3 or AGS 4 data to Bedrock GI data model. + """ + if not encoding: + encoding = detect_encoding(source) + + # Get first non-blank line, None if all lines are blank + with open_text_data_source(source, encoding=encoding) as f: + first_line = next((line.strip() for line in f if line.strip()), None) + + if first_line: + if first_line.startswith('"**'): + ags_version = 3 + brgi_db_mapping = ags3_to_brgi_db_mapping( + source, projected_crs, vertical_crs, encoding + ) + elif first_line.startswith('"GROUP"'): + ags_version = 4 + # brgi_db_mapping = ags4_to_brgi_db_mapping( + # source, projected_crs, vertical_crs, encoding + # ) + else: + # If first non-empty line doesn't match AGS 3 or AGS 4 format + raise ValueError("The data provided is not valid AGS 3 or AGS 4 data.") + else: + raise ValueError("The file provided has only blank lines") + + # Put CPT data into brgi_db.Other table, because CPT data has too many rows + # that would generate geospatial geometry. + # "STCN" and "SCPT" are the group names for CPT data in AGS 3 and AGS 3 respectively. + # TODO: implement a warning when interpolating GI geospatial geometry when + # TODO: a single GI location has waaay too many rows in a certain In-Situ test, + # TODO: rather than removing specific groups here. + insitu_test_names = { + insitu_test.table_name: i + for i, insitu_test in enumerate(brgi_db_mapping.InSitu) + } + cpt_key = ( + "STCN" + if "STCN" in insitu_test_names + else "SCPT" + if "SCPT" in insitu_test_names + else None + ) + if cpt_key is not None: + cpt_data_mapping = brgi_db_mapping.InSitu.pop(insitu_test_names[cpt_key]) + del insitu_test_names[cpt_key] + brgi_db_mapping.Other.append(cpt_data_mapping) + + # Log information about the mapped AGS 3 or AGS 4 data + project_id = brgi_db_mapping.Project.project_id + n_gi_locations = len(brgi_db_mapping.Location.data) + n_samples = len(brgi_db_mapping.Sample.data) if brgi_db_mapping.Sample else 0 + print_args = [ + f"AGS {ags_version} data was read for Project {project_id}", + f"This GI data contains {n_gi_locations} GI locations, {n_samples} samples and:", + f" - In-Situ Tests: {list(insitu_test_names.keys())}", + ] + if brgi_db_mapping.Lab: + print_args.append( + f" - Lab Tests: {[lab_test.table_name for lab_test in brgi_db_mapping.Lab]}" + ) + if brgi_db_mapping.Other: + print_args.append( + f" - Other Tables: {[other_table.table_name for other_table in brgi_db_mapping.Other]}" + ) + print(*print_args, sep="\n", end="\n\n") + + return brgi_db_mapping diff --git a/src/bedrock_ge/gi/ags/__init__.py b/src/bedrock_ge/gi/ags/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/bedrock_ge/gi/ags/read.py b/src/bedrock_ge/gi/ags/read.py deleted file mode 100644 index 0140298..0000000 --- a/src/bedrock_ge/gi/ags/read.py +++ /dev/null @@ -1,376 +0,0 @@ -from __future__ import annotations - -import codecs -import io -from contextlib import contextmanager, nullcontext -from pathlib import Path -from typing import IO, Any, ContextManager, Dict, List - -import chardet -import pandas as pd -from python_ags4 import AGS4 - -from bedrock_ge.gi.ags.validate import check_ags_proj_group - -DEFAULT_ENCODING = "utf-8" - - -def detect_encoding(source: str | Path | IO[str] | IO[bytes] | bytes) -> str: - """Detect the character encoding of various input types. - - Args: - source (str | Path | IO[str] | IO[bytes] | bytes): The source to detect encoding from. - - str or Path: File path. - - IO[str]: Already decoded text stream (returns `DEFAULT_ENCODING`) - - IO[bytes]: Binary stream to detect encoding from - - bytes: Binary data to detect encoding from - - Returns: - str: The detected encoding name (e.g., 'utf-8', 'iso-8859-1', 'ascii', etc.) - - Raises: - TypeError: If the source type is unsupported - FileNotFoundError: If a file path doesn't exist - """ - # Set number of bytes to read for detection and required confidence - SAMPLE_SIZE = 1_000_000 - REQUIRED_CONFIDENCE = 0.7 - - def _detect_from_bytes(data: bytes) -> str: - """Detect encoding from bytes data.""" - sample = data[: min(len(data), SAMPLE_SIZE)] - result = chardet.detect(sample) - encoding = result.get("encoding", DEFAULT_ENCODING) - confidence = result.get("confidence", 0.0) - - if not encoding or confidence < REQUIRED_CONFIDENCE: - return DEFAULT_ENCODING - - if encoding.lower() == "ascii": - return "utf-8" - - return encoding - - def _read_from_path(path: Path): - """Read contents from path.""" - if path.exists() and path.is_file(): - with open(path, "rb") as file: - sample = file.read(SAMPLE_SIZE) - return _detect_from_bytes(sample) - else: - raise FileNotFoundError( - f"Path does not exist or is not a file: {path.__str__()[0:40]}" - ) - - # bytes - if isinstance(source, bytes): - return _detect_from_bytes(source) - - # String, if not a path, still returns DEFAULT_ENCODING - if isinstance(source, str): - path = Path(source) - try: - return _read_from_path(path) - except FileNotFoundError: - return DEFAULT_ENCODING - - # Path object - if isinstance(source, Path): - return _read_from_path(source) - - # IO[str] object - if hasattr(source, "encoding"): - if source.encoding: - # Could be `None`, e.g. io.StringIO has an encoding attribute which is None. - return source.encoding - else: - return DEFAULT_ENCODING - - # IO[bytes] - if isinstance(source, io.BufferedIOBase): - try: - original_position = source.tell() - source.seek(0) - sample = source.read(SAMPLE_SIZE) - if isinstance(sample, bytes): - encoding = _detect_from_bytes(sample) - else: - # if not bytes, then its a custom string-like type that was not caught - encoding = DEFAULT_ENCODING - source.seek(original_position) - return encoding - except (AttributeError, IOError): - # use default if the stream does not have a `read()` or `seek()` attribute - return DEFAULT_ENCODING - - raise TypeError(f"Unsupported input type for encoding detection: {type(source)}") - - -def open_ags_source( - source: str | Path | IO[str] | IO[bytes] | bytes, encoding=None -) -> ContextManager[io.TextIOBase]: - """Opens or wraps a given source for reading AGS (text-based) data. - - Args: - source (str | Path | IO[str] | IO[bytes] | bytes): The source to read from. - - str or Path: File path or direct string content. - - IO[str]: A file-like text stream. - - IO[bytes]: Byte stream - - bytes: Binary content or stream (will be decoded). - encoding (str | None): Encoding to use for decoding bytes. Default is None. - - Returns: - ContextManager[TextIOBase]: A context manager yielding a text stream. - - Raises: - TypeError: If the source type is unsupported or binary streams are not decoded. - """ - try: - codecs.lookup(encoding) - except LookupError: - raise ValueError(f"Unsupported encoding: {encoding}") - - @contextmanager - def _bytes_source(bytes_content: bytes): - string_io = io.StringIO(bytes_content.decode(encoding)) - try: - yield string_io - finally: - string_io.close() - - if isinstance(source, (str, Path)): - path = Path(source) - if path.exists() and path.is_file(): - return open(path, "r", encoding=encoding) - raise FileNotFoundError(f"Path does not exist or is not a file: {source}") - - elif isinstance(source, io.TextIOBase): - source.seek(0) - return nullcontext(source) - - elif isinstance(source, io.BufferedIOBase): - text_stream = io.TextIOWrapper(source, encoding=encoding) - text_stream.seek(0) - return nullcontext(text_stream) - - elif isinstance(source, bytes): - return _bytes_source(source) - - else: - raise TypeError( - f"Unsupported source type: {type(source)}. " - "Expected str, Path, IO[str], IO[bytes], or bytes." - ) - - -def ags_to_dfs( - source: str | Path | IO[str] | IO[bytes] | bytes, encoding=None -) -> Dict[str, pd.DataFrame]: - """Converts AGS 3 or AGS 4 file to a dictionary of pandas DataFrames. - - Args: - source (str | Path | IO[str] | IO[bytes] | bytes): The AGS file (str or Path) - or a file-like object that represents the AGS file. - encoding (str): default=None - Encoding of text file, an attempt at detecting the encoding will be made if `None` - - Raises: - ValueError: If the data does not match AGS 3 or AGS 4 format. - - Returns: - Dict[str, pd.DataFrame]]: A dictionary where keys represent AGS group - names with corresponding DataFrames for the corresponding group data. - """ - if not encoding: - encoding = detect_encoding(source) - - # Get first non-blank line, `None` if all lines are blank - with open_ags_source(source, encoding=encoding) as f: - first_line = next((line.strip() for line in f if line.strip()), None) - - if first_line: - if first_line.startswith('"**'): - ags_version = 3 - ags_dfs = ags3_to_dfs(source, encoding=encoding) - elif first_line.startswith('"GROUP"'): - ags_version = 4 - ags_dfs = ags4_to_dfs(source) - else: - # If first non-empty line doesn't match AGS 3 or AGS 4 format - raise ValueError("The data provided is not valid AGS 3 or AGS 4 data.") - else: - raise ValueError("The file provided has only blank lines") - - is_proj_group_correct = check_ags_proj_group(ags_dfs["PROJ"]) - if is_proj_group_correct: - project_id = ags_dfs["PROJ"]["PROJ_ID"].iloc[0] - print( - f"AGS {ags_version} data was read for Project {project_id}", - "This Ground Investigation data contains groups:", - list(ags_dfs.keys()), - sep="\n", - end="\n\n", - ) - - return ags_dfs - - -def ags3_to_dfs( - source: str | Path | IO[str] | IO[bytes] | bytes, encoding: str -) -> Dict[str, pd.DataFrame]: - """Converts AGS 3 data to a dictionary of pandas DataFrames. - - Args: - source (str | Path | IO[str] | IO[bytes] | bytes): The AGS 3 file (str or Path) - or a file-like object that represents the AGS 3 file. - encoding (str): Encoding of file or object. - - Returns: - Dict[str, pd.DataFrame]: A dictionary of pandas DataFrames, where each key - represents a group name from AGS 3 data, and the corresponding value is a - pandas DataFrame containing the data for that group. - """ - # Initialize dictionary and variables used in the AGS 3 read loop - ags3_dfs = {} - line_type = "line_0" - group = "" - headers: List[str] = ["", "", ""] - group_data: List[List[Any]] = [[], [], []] - - with open_ags_source(source, encoding=encoding) as file: - for i, line in enumerate(file): - line = line.strip() - last_line_type = line_type - - # In AGS 3.1 group names are prefixed with ** - if line.startswith('"**'): - line_type = "group_name" - if group: - ags3_dfs[group] = pd.DataFrame(group_data, columns=headers) - - group = line.strip(' ,"*') - group_data = [] - - # In AGS 3 header names are prefixed with "* - elif line.startswith('"*'): - line_type = "headers" - new_headers = line.split('","') - new_headers = [h.strip(' ,"*') for h in new_headers] - - # Some groups have so many headers that they span multiple lines. - # Therefore we need to check whether the new headers are - # a continuation of the previous headers from the last line. - if line_type == last_line_type: - headers = headers + new_headers - else: - headers = new_headers - - # Skip lines where group units are defined, these are defined in the AGS 3 data dictionary. - elif line.startswith('""'): - line_type = "units" - continue - - # The rest of the lines contain: - # 1. GI data - # 2. a continuation of the previous line. These lines contain "" in the first column. - # 3. are empty or contain worthless data - else: - line_type = "data_row" - data_row = line.split('","') - if len("".join(data_row)) == 0: - # print(f"Line {i} is empty. Last Group: {group}") - continue - elif len(data_row) != len(headers): - print( - f"\n🚨 CAUTION: The number of columns on line {i + 1} ({len(data_row)}) doesn't match the number of columns of group {group} ({len(headers)})!", - f"{group} headers: {headers}", - f"Line {i + 1}: {data_row}", - sep="\n", - end="\n\n", - ) - continue - # Append continued lines () to the last data_row - elif data_row[0] == '"': - last_data_row = group_data[-1] - for j, data in enumerate(data_row): - data = data.strip(' "') - if data and data != "": - if last_data_row[j] is None: - # Last data row didn't contain data for this column - last_data_row[j] = coerce_string(data) - else: - # Last data row already contains data for this column - last_data_row[j] = str(last_data_row[j]) + data - # Lines that are assumed to contain valid data are added to the group data - else: - cleaned_data_row = [] - for data in data_row: - cleaned_data_row.append(coerce_string(data.strip(' "'))) - group_data.append(cleaned_data_row) - - # Also add the last group's df to the dictionary of AGS dfs - ags3_dfs[group] = pd.DataFrame(group_data, columns=headers).dropna( - axis=1, how="all" - ) - - if not group: - print( - '🚨 ERROR: The provided AGS 3 data does not contain any groups, i.e. lines starting with "**' - ) - - return ags3_dfs - - -def ags4_to_dfs( - source: str | Path | IO[str] | IO[bytes] | bytes, -) -> Dict[str, pd.DataFrame]: - """Converts AGS 4 data to a dictionary of pandas DataFrames. - - Args: - source (str | Path | IO[str] | IO[bytes] | bytes): The AGS4 file (str or Path) or a file-like - object that represents and AGS4 file. - - Returns: - Dict[str, pd.DataFrame]: A dictionary of pandas DataFrames, where each key - represents a group name from AGS 4 data, and the corresponding value is a - pandas DataFrame containing the data for that group. - """ - ags4_tups = AGS4.AGS4_to_dataframe(source) - - ags4_dfs = {} - for group, df in ags4_tups[0].items(): - df = df.loc[2:].drop(columns=["HEADING"]).reset_index(drop=True) - ags4_dfs[group] = df - - return ags4_dfs - - -def coerce_string(string: str) -> None | bool | float | str: - """Converts a string to an appropriate Python data type. - - Args: - string: The input string to be converted. - - Returns: - None: If the string is 'none', 'null', or empty. - bool: If the string is 'true' or 'false' (case insensitive). - int: If the string can be converted to a float and has no decimal part. - float: If the string can be converted to a float with a decimal part. - str: If the string cannot be converted to any of the above types. - - """ - if string.lower() in {"none", "null", ""}: - return None - elif string.lower() == "true": - return True - elif string.lower() == "false": - return False - else: - try: - value = float(string) - if value.is_integer(): - return int(value) - else: - return value - except ValueError: - return string diff --git a/src/bedrock_ge/gi/ags/transform.py b/src/bedrock_ge/gi/ags/transform.py deleted file mode 100644 index c68eb53..0000000 --- a/src/bedrock_ge/gi/ags/transform.py +++ /dev/null @@ -1,264 +0,0 @@ -"""Transforms, i.e. maps, AGS data to Bedrock's schema.""" - -from typing import Dict - -import pandas as pd -import pandera.pandas as pa -from pandera.typing import DataFrame -from pyproj import CRS - -from bedrock_ge.gi.ags.schemas import Ags3HOLE, Ags3SAMP, BaseSAMP -from bedrock_ge.gi.schemas import BaseInSitu, BaseLocation, BaseSample, Project -from bedrock_ge.gi.validate import check_foreign_key - - -# What this function really does, is add the CRS and Bedrock columns: -# - `project_uid` -# - `location_uid` -# - `sample_id` -# - `sample_uid` -# - `depth_to_` -# There really isn't any mapping going on here... -# TODO: Make sure that the name of the function and docstrings reflect this. -def ags3_db_to_no_gis_brgi_db( - ags3_db: Dict[str, pd.DataFrame], crs: CRS -) -> Dict[str, pd.DataFrame]: - """Maps a database with GI data from a single AGS 3 file to a database with Bedrock's schema. - - This function converts an AGS 3 formatted geotechnical database into Bedrock's - internal database format, maintaining data relationships and structure. It handles - various types of geotechnical data including project information, locations, - samples, lab tests, and in-situ measurements. - - The mapping process: - 1. Project Data: Converts AGS 3 'PROJ' group to Bedrock's 'Project' table - 2. Location Data: Converts AGS 3 'HOLE' group to Bedrock's 'Location' table - 3. Sample Data: Converts AGS 3 'SAMP' group to Bedrock's 'Sample' table - 4. Other Data: Handles lab tests, in-situ measurements, and miscellaneous tables - - Args: - ags3_db (Dict[str, pd.DataFrame]): A dictionary containing AGS 3 data tables, - where keys are table names and values are pandas DataFrames. - crs (CRS): Coordinate Reference System for the project data. - - Returns: - Dict[str, pd.DataFrame]: A dictionary containing Bedrock GI database tables, - where keys are table names and values are transformed pandas DataFrames. - - Note: - The function creates a copy of the input database to avoid modifying the original data. - It performs foreign key checks to maintain data integrity during the mapping. - """ - # Make sure that the AGS 3 database is not changed outside this function. - ags3_db = ags3_db.copy() - - print("Transforming AGS 3 groups to Bedrock tables...") - - # Instantiate Bedrock dictionary of pd.DataFrames - brgi_db = {} - - # Project - print("Transforming AGS 3 group 'PROJ' to Bedrock GI 'Project' table...") - brgi_db["Project"] = ags_proj_to_brgi_project(ags3_db["PROJ"], crs) - project_uid = brgi_db["Project"]["project_uid"].item() - del ags3_db["PROJ"] - - # Locations - if "HOLE" in ags3_db.keys(): - print("Transforming AGS 3 group 'HOLE' to Bedrock GI 'Location' table...") - brgi_db["Location"] = ags3_hole_to_brgi_location(ags3_db["HOLE"], project_uid) # type: ignore - del ags3_db["HOLE"] - else: - print( - "Your AGS 3 data doesn't contain a HOLE group, i.e. Ground Investigation locations." - ) - - # Samples - if "SAMP" in ags3_db.keys(): - print("Transforming AGS 3 group 'SAMP' to Bedrock GI 'Sample' table...") - check_foreign_key("HOLE_ID", brgi_db["Location"], ags3_db["SAMP"]) - ags3_db["SAMP"] = generate_sample_ids_for_ags3(ags3_db["SAMP"]) # type: ignore - brgi_db["Sample"] = ags3_samp_to_brgi_sample(ags3_db["SAMP"], project_uid) # type: ignore - del ags3_db["SAMP"] - else: - print("Your AGS 3 data doesn't contain a SAMP group, i.e. samples.") - - # The rest of the tables: 1. Lab Tests 2. In-Situ Measurements 3. Other tables - for group, group_df in ags3_db.items(): - if "SAMP_REF" in ags3_db[group].columns: - print(f"Project {project_uid} has lab test data: {group}.") - brgi_db[group] = group_df # type: ignore - elif "HOLE_ID" in ags3_db[group].columns: - print( - f"Transforming AGS 3 group '{group}' to Bedrock GI 'InSitu_{group}' table..." - ) - check_foreign_key("HOLE_ID", brgi_db["Location"], group_df) - brgi_db[f"InSitu_{group}"] = ags3_in_situ_to_brgi_in_situ( # type: ignore - group, group_df, project_uid - ) - else: - brgi_db[group] = ags3_db[group] # type: ignore - - print( - "Done", - "The Bedrock database contains the following tables:", - list(brgi_db.keys()), - sep="\n", - end="\n\n", - ) - return brgi_db # type: ignore - - -@pa.check_types(lazy=True) -def ags_proj_to_brgi_project(ags_proj: pd.DataFrame, crs: CRS) -> DataFrame[Project]: - """Maps the AGS 3 'PROJ' group to a Bedrock GI 'Project' table. - - Args: - ags_proj (pd.DataFrame): The AGS 3 'PROJ' group. - crs (CRS): The coordinate reference system of the project. - - Returns: - DataFrame[Project]: The Bedrock GI 'Project' table. - """ - if "project_uid" not in ags_proj.columns: - ags_proj["project_uid"] = ags_proj["PROJ_ID"] - - ags_proj["crs_wkt"] = crs.to_wkt() - - return ags_proj # type: ignore - - -@pa.check_types(lazy=True) -def ags3_hole_to_brgi_location( - ags3_hole: DataFrame[Ags3HOLE], project_uid: str -) -> DataFrame[BaseLocation]: - brgi_location = ags3_hole - brgi_location["project_uid"] = project_uid - brgi_location["location_source_id"] = ags3_hole["HOLE_ID"] - brgi_location["location_uid"] = ( - ags3_hole["HOLE_ID"] + "_" + ags3_hole["project_uid"] - ) - brgi_location["location_type"] = ags3_hole["HOLE_TYPE"] - brgi_location["easting"] = ags3_hole["HOLE_NATE"] - brgi_location["northing"] = ags3_hole["HOLE_NATN"] - brgi_location["ground_level_elevation"] = ags3_hole["HOLE_GL"] - brgi_location["depth_to_base"] = ags3_hole["HOLE_FDEP"] - - return ags3_hole # type: ignore - - -@pa.check_types(lazy=True) -def ags3_samp_to_brgi_sample( - ags3_samp: DataFrame[Ags3SAMP], - project_uid: str, -) -> DataFrame[BaseSample]: - brgi_sample = ags3_samp - brgi_sample["project_uid"] = project_uid - brgi_sample["location_source_id"] = ags3_samp["HOLE_ID"] - brgi_sample["location_uid"] = ags3_samp["HOLE_ID"] + "_" + ags3_samp["project_uid"] - brgi_sample["sample_source_id"] = ags3_samp["sample_id"] - brgi_sample["sample_uid"] = ags3_samp["sample_id"] + "_" + ags3_samp["project_uid"] - brgi_sample["depth_to_top"] = ags3_samp["SAMP_TOP"] - brgi_sample["depth_to_base"] = ags3_samp["SAMP_BASE"] - - return brgi_sample # type: ignore - - -@pa.check_types(lazy=True) -def ags3_in_situ_to_brgi_in_situ( - group_name: str, ags3_in_situ: pd.DataFrame, project_uid: str -) -> DataFrame[BaseInSitu]: - """Maps AGS 3 in-situ measurement data to Bedrock's in-situ data schema. - - Args: - group_name (str): The AGS 3 group name. - ags3_data (pd.DataFrame): The AGS 3 data. - project_uid (str): The project uid. - - Returns: - DataFrame[BaseInSitu]: The Bedrock in-situ data. - """ - brgi_in_situ = ags3_in_situ - brgi_in_situ["project_uid"] = project_uid - brgi_in_situ["location_uid"] = ags3_in_situ["HOLE_ID"] + "_" + project_uid - - top_depth = f"{group_name}_TOP" - base_depth = f"{group_name}_BASE" - - if group_name == "CDIA": - top_depth = "CDIA_CDEP" - elif group_name == "FLSH": - top_depth = "FLSH_FROM" - base_depth = "FLSH_TO" - elif group_name == "CORE": - base_depth = "CORE_BOT" - elif group_name == "HDIA": - top_depth = "HDIA_HDEP" - elif group_name == "PTIM": - top_depth = "PTIM_DEP" - elif group_name == "IVAN": - top_depth = "IVAN_DPTH" - elif group_name == "STCN": - top_depth = "STCN_DPTH" - elif group_name == "POBS" or group_name == "PREF": - top_depth = "PREF_TDEP" - elif group_name == "DREM": - top_depth = "DREM_DPTH" - elif group_name == "PRTD" or group_name == "PRTG" or group_name == "PRTL": - top_depth = "PRTD_DPTH" - elif group_name == "IPRM": - if top_depth not in ags3_in_situ.columns: - print( - "\n🚨 CAUTION: The IPRM group in this AGS 3 file does not contain a 'IPRM_TOP' heading!", - "🚨 CAUTION: Making the 'IPRM_BASE' heading the 'depth_to_top'...", - sep="\n", - end="\n\n", - ) - top_depth = "IPRM_BASE" - base_depth = "None" - - brgi_in_situ["depth_to_top"] = ags3_in_situ[top_depth] - brgi_in_situ["depth_to_base"] = ags3_in_situ.get(base_depth) - - return brgi_in_situ # type: ignore - - -@pa.check_types(lazy=True) -def generate_sample_ids_for_ags3( - ags3_with_samp: DataFrame[BaseSAMP], -) -> DataFrame[Ags3SAMP]: - ags3_with_samp["sample_id"] = ( - ags3_with_samp["SAMP_REF"].astype(str) - + "_" - + ags3_with_samp["SAMP_TYPE"].astype(str) - + "_" - + ags3_with_samp["SAMP_TOP"].astype(str) - + "_" - + ags3_with_samp["HOLE_ID"].astype(str) - ) - # try: - # # SAMP_REF really should not be able to be null... Right? - # # Maybe SAMP_REF can be null when the - # Ags3SAMP_REF.validate(ags3_samp) - # print( - # "Generating unique sample IDs for AGS 3 data: 'sample_id'='{SAMP_REF}_{HOLE_ID}'" - # ) - # ags3_samp["sample_id"] = ( - # ags3_samp["SAMP_REF"].astype(str) + "_" + ags3_samp["HOLE_ID"].astype(str) - # ) - # except pa.errors.SchemaError as exc: - # print(f"🚨 CAUTION: The AGS 3 SAMP group contains rows without SAMP_REF:\n{exc}") - - # if "non-nullable series 'SAMP_REF'" in str(exc): - # print( - # "\nTo ensure unique sample IDs: 'sample_id'='{SAMP_REF}_{SAMP_TOP}_{HOLE_ID}'\n" - # ) - # ags3_samp["sample_id"] = ( - # ags3_samp["SAMP_REF"].astype(str) - # + "_" - # + ags3_samp["SAMP_TOP"].astype(str) - # + "_" - # + ags3_samp["HOLE_ID"].astype(str) - # ) - - return ags3_with_samp # type: ignore diff --git a/src/bedrock_ge/gi/ags/validate.py b/src/bedrock_ge/gi/ags/validate.py deleted file mode 100644 index cbcbcc1..0000000 --- a/src/bedrock_ge/gi/ags/validate.py +++ /dev/null @@ -1,25 +0,0 @@ -import pandas as pd - - -def check_ags_proj_group(ags_proj: pd.DataFrame) -> bool: - """Checks if the AGS 3 or AGS 4 PROJ group is correct. - - Args: - ags_proj (pd.DataFrame): The DataFrame with the PROJ group. - - Raises: - ValueError: If AGS 3 of AGS 4 PROJ group is not correct. - - Returns: - bool: Returns True if the AGS 3 or AGS 4 PROJ group is correct. - """ - if len(ags_proj) != 1: - raise ValueError("The PROJ group must contain exactly one row.") - - project_id = ags_proj["PROJ_ID"].iloc[0] - if not project_id: - raise ValueError( - 'The project ID ("PROJ_ID" in the "PROJ" group) is missing from the AGS data.' - ) - - return True diff --git a/src/bedrock_ge/gi/ags3.py b/src/bedrock_ge/gi/ags3.py new file mode 100644 index 0000000..cab72a7 --- /dev/null +++ b/src/bedrock_ge/gi/ags3.py @@ -0,0 +1,275 @@ +from pathlib import Path +from typing import IO, Any + +import pandas as pd +from pyproj import CRS + +from bedrock_ge.gi.ags_schemas import Ags3HOLE, Ags3SAMP, check_ags_proj_group +from bedrock_ge.gi.io_utils import coerce_string, open_text_data_source +from bedrock_ge.gi.mapping_models import ( + BedrockGIMapping, + InSituTestTableMapping, + LabTestTableMapping, + LocationTableMapping, + OtherTable, + ProjectTableMapping, + SampleTableMapping, +) + + +def ags3_to_dfs( + source: str | Path | IO[str] | IO[bytes] | bytes, encoding: str +) -> dict[str, pd.DataFrame]: + """Converts AGS 3 data to a dictionary of pandas DataFrames. + + Also strips '?' from non-standard AGS 3 group and header names, in order to + make the rest of the code more generic. + + Args: + source (str | Path | IO[str] | IO[bytes] | bytes): The AGS 3 file (str or Path) + or a file-like object that represents the AGS 3 file. + encoding (str): Encoding of file or object. + + Returns: + dict[str, pd.DataFrame]: A dictionary of pandas DataFrames, i.e. a database, + where each key is an AGS 3 group, and the corresponding value is + a pandas DataFrame containing the data for that group. + """ + # Initialize dictionary and variables used in the AGS 3 read loop + ags3_dfs = {} + line_type = "line_0" + group = "" + headers: list[str] = ["", "", ""] + group_data: list[list[Any]] = [[], [], []] + + with open_text_data_source(source, encoding=encoding) as file: + for i, line in enumerate(file): + line = line.strip() + last_line_type = line_type + + # In AGS 3.1 group names are prefixed with ** + if line.startswith('"**'): + line_type = "group_name" + if group: + ags3_dfs[group] = pd.DataFrame(group_data, columns=headers) + + group = line.strip(' ,"*?') + group_data = [] + + # In AGS 3 header names are prefixed with "* + elif line.startswith('"*'): + line_type = "headers" + new_headers = line.split('","') + new_headers = [h.strip(' ,"*?') for h in new_headers] + + # Some groups have so many headers that they span multiple lines. + # Therefore we need to check whether the new headers are + # a continuation of the previous headers from the last line. + if line_type == last_line_type: + headers = headers + new_headers + else: + headers = new_headers + + # Skip lines where group units are defined, these are defined in the AGS 3 data dictionary. + elif line.startswith('""'): + line_type = "units" + continue + + # The rest of the lines contain: + # 1. GI data + # 2. a continuation of the previous line. These lines contain "" in the first column. + # 3. are empty or contain worthless data + else: + line_type = "data_row" + data_row = line.split('","') + if len("".join(data_row)) == 0: + # print(f"Line {i} is empty. Last Group: {group}") + continue + elif len(data_row) != len(headers): + print( + f"\n🚨 CAUTION: The number of columns ({len(data_row)}) on line {i + 1} doesn't match the number of columns ({len(headers)}) of group {group}!", + f"{group} headers: {headers}", + f"Line {i + 1}: {data_row}", + sep="\n", + end="\n\n", + ) + continue + # Append continued lines () to the last data_row + elif data_row[0] == '"': + last_data_row = group_data[-1] + for j, data in enumerate(data_row): + data = data.strip(' "') + if data and data != "": + if last_data_row[j] is None: + # Last data row didn't contain data for this column + last_data_row[j] = coerce_string(data) + else: + # Last data row already contains data for this column + last_data_row[j] = str(last_data_row[j]) + data + # Lines that are assumed to contain valid data are added to the group data + else: + cleaned_data_row = [] + for data in data_row: + cleaned_data_row.append(coerce_string(data.strip(' "'))) + group_data.append(cleaned_data_row) + + # Also add the last group's df to the dictionary of AGS dfs + ags3_dfs[group] = pd.DataFrame(group_data, columns=headers) + + if not group: + print( + '🚨 ERROR: The provided AGS 3 data does not contain any groups, i.e. lines starting with "**' + ) + + return ags3_dfs + + +# TODO: AGS 3 table validation based on the AGS 3 data dictionary. +def ags3_to_brgi_db_mapping( + source: str | Path | IO[str] | IO[bytes] | bytes, + projected_crs: CRS, + vertical_crs: CRS, + encoding: str, +) -> BedrockGIMapping: + """Map AGS 3 data to the Bedrock GI data model. + + Args: + ags3_db (dict[str, pd.DataFrame]): A dictionary of pandas DataFrames, i.e. database, + where each key is an AGS 3 group, and the corresponding value is + a pandas DataFrame containing the data for that group. + projected_crs (CRS): Projected coordinate reference system (CRS). + vertical_crs (CRS, optional): Vertical CRS. Defaults to EGM2008 height, EPSG:3855 + which measures the orthometric height w.r.t. the Earth Gravitational Model 2008. + encoding (str): Encoding of the text file or bytes stream. + + Returns: + BedrockGIDatabaseMapping: Object that maps AGS 3 data to Bedrock GI data model. + """ + ags3_dfs = ags3_to_dfs(source, encoding) + + check_ags_proj_group(ags3_dfs["PROJ"]) + ags3_project = ProjectTableMapping( + data=ags3_dfs["PROJ"].to_dict(orient="records")[0], + project_id=ags3_dfs["PROJ"].at[0, "PROJ_ID"], + horizontal_crs=projected_crs, + vertical_crs=vertical_crs, + ) + del ags3_dfs["PROJ"] + + Ags3HOLE.validate(ags3_dfs["HOLE"]) + ags3_location = LocationTableMapping( + data=ags3_dfs["HOLE"], + location_id_column="HOLE_ID", + easting_column="HOLE_NATE", + northing_column="HOLE_NATN", + ground_level_elevation_column="HOLE_GL", + depth_to_base_column="HOLE_FDEP", + ) + del ags3_dfs["HOLE"] + + if "SAMP" in ags3_dfs.keys(): + Ags3SAMP.validate(ags3_dfs["SAMP"]) + samp_df = ags3_dfs["SAMP"] + samp_df = _add_sample_source_id(samp_df) + ags3_sample = SampleTableMapping( + data=samp_df, + location_id_column="HOLE_ID", + sample_id_column="sample_source_id", + depth_to_top_column="SAMP_TOP", + ) + del ags3_dfs["SAMP"] + else: + ags3_sample = None + + ags3_lab_tests = [] + ags3_insitu_tests = [] + ags3_other_tables = [] + + for group, df in ags3_dfs.items(): + # Non-standard group names contain the "?" prefix. + # => checking that "SAMP_TOP" / "HOLE_ID" is in the columns is too restrictive. + if "SAMP_TOP" in df.columns: + df = _add_sample_source_id(df) + ags3_lab_tests.append( + LabTestTableMapping( + table_name=group, + data=df, + location_id_column="HOLE_ID", + sample_id_column="sample_source_id", + ) + ) + elif "HOLE_ID" in df.columns: + top_depth, base_depth = _get_depth_columns(group, list(df.columns)) + ags3_insitu_tests.append( + InSituTestTableMapping( + table_name=group, + data=df, + location_id_column="HOLE_ID", + depth_to_top_column=top_depth, + depth_to_base_column=base_depth, + ) + ) + else: + ags3_other_tables.append(OtherTable(table_name=group, data=df)) + + brgi_db_mapping = BedrockGIMapping( + Project=ags3_project, + Location=ags3_location, + InSitu=ags3_insitu_tests, + Sample=ags3_sample, + Lab=ags3_lab_tests, + Other=ags3_other_tables, + ) + return brgi_db_mapping + + +def _add_sample_source_id(df: pd.DataFrame) -> pd.DataFrame: + df["sample_source_id"] = ( + df["SAMP_REF"].astype(str) + + "-" + + df["SAMP_TYPE"].astype(str) + + "-" + + df["SAMP_TOP"].astype(str) + + "-" + + df["HOLE_ID"].astype(str) + ) + return df + + +def _get_depth_columns(group: str, headers: list[str]) -> tuple[str | None, str | None]: + top_depth: str | None = f"{group}_TOP" + base_depth: str | None = f"{group}_BASE" + + match group: + case "CDIA": + top_depth = "CDIA_CDEP" + case "FLSH": + top_depth = "FLSH_FROM" + base_depth = "FLSH_TO" + case "CORE": + base_depth = "CORE_BOT" + case "HDIA": + top_depth = "HDIA_HDEP" + case "PTIM": + top_depth = "PTIM_DEP" + case "IVAN": + top_depth = "IVAN_DPTH" + case "STCN": + top_depth = "STCN_DPTH" + case "POBS" | "PREF": + top_depth = "PREF_TDEP" + case "DREM": + top_depth = "DREM_DPTH" + case "PRTD" | "PRTG" | "PRTL": + top_depth = "PRTD_DPTH" + + if top_depth not in headers: + top_depth = None + if base_depth not in headers: + base_depth = None + if not top_depth and not base_depth: + raise ValueError( + 'The in-situ test group "{group}" group in this AGS 3 file does not contain a top or base depth heading!' + ) + + return top_depth, base_depth diff --git a/src/bedrock_ge/gi/ags/ags3_data_dictionary.json b/src/bedrock_ge/gi/ags3_data_dictionary.json similarity index 100% rename from src/bedrock_ge/gi/ags/ags3_data_dictionary.json rename to src/bedrock_ge/gi/ags3_data_dictionary.json diff --git a/src/bedrock_ge/gi/ags4.py b/src/bedrock_ge/gi/ags4.py new file mode 100644 index 0000000..93f45a7 --- /dev/null +++ b/src/bedrock_ge/gi/ags4.py @@ -0,0 +1,29 @@ +from pathlib import Path +from typing import IO + +import pandas as pd +from python_ags4 import AGS4 + + +def ags4_to_dfs( + source: str | Path | IO[str] | IO[bytes] | bytes, +) -> dict[str, pd.DataFrame]: + """Converts AGS 4 data to a dictionary of pandas DataFrames. + + Args: + source (str | Path | IO[str] | IO[bytes] | bytes): The AGS4 file (str or Path) or a file-like + object that represents and AGS4 file. + + Returns: + dict[str, pd.DataFrame]: A dictionary of pandas DataFrames, where each key + represents a group name from AGS 4 data, and the corresponding value is a + pandas DataFrame containing the data for that group. + """ + ags4_tups = AGS4.AGS4_to_dataframe(source) + + ags4_dfs = {} + for group, df in ags4_tups[0].items(): + df = df.loc[2:].drop(columns=["HEADING"]).reset_index(drop=True) + ags4_dfs[group] = df + + return ags4_dfs diff --git a/src/bedrock_ge/gi/ags/ags4_data_dictionary.json b/src/bedrock_ge/gi/ags4_data_dictionary.json similarity index 100% rename from src/bedrock_ge/gi/ags/ags4_data_dictionary.json rename to src/bedrock_ge/gi/ags4_data_dictionary.json diff --git a/src/bedrock_ge/gi/ags/schemas.py b/src/bedrock_ge/gi/ags_schemas.py similarity index 89% rename from src/bedrock_ge/gi/ags/schemas.py rename to src/bedrock_ge/gi/ags_schemas.py index 1add63e..d4d8216 100644 --- a/src/bedrock_ge/gi/ags/schemas.py +++ b/src/bedrock_ge/gi/ags_schemas.py @@ -1,7 +1,35 @@ +import pandas as pd import pandera.pandas as pa from pandera.typing import Series +def check_ags_proj_group(ags_proj: pd.DataFrame) -> bool: + """Checks if the AGS 3 or AGS 4 PROJ group is correct. + + Args: + ags_proj (pd.DataFrame): The DataFrame with the PROJ group. + + Raises: + ValueError: If AGS 3 of AGS 4 PROJ group is not correct. + + Returns: + bool: Returns True if the AGS 3 or AGS 4 PROJ group is correct. + """ + if len(ags_proj) != 1: + raise ValueError("The PROJ group must contain exactly one row.") + + msg = 'The project ID ("PROJ_ID" in the "PROJ" group) is missing from the AGS data.' + try: + project_id = ags_proj.at[ags_proj.index[0], "PROJ_ID"] + except KeyError: + raise ValueError(msg) + + if pd.isna(project_id) or str(project_id).strip() == "": + raise ValueError(msg) + + return True + + class Ags3HOLE(pa.DataFrameModel): HOLE_ID: Series[str] = pa.Field( # primary_key=True, @@ -56,13 +84,6 @@ class BaseSAMP(pa.DataFrameModel): class Ags3SAMP(BaseSAMP): - sample_id: Series[str] = pa.Field( - # primary_key=True, - unique=True, - coerce=True, - description="Sample unique identifier", - # example="REF_TYPE_TOP_HOLE_ID", - ) HOLE_ID: Series[str] = pa.Field( # foreign_key="Ags3HOLE.HOLE_ID", description="Exploratory hole or location equivalent", diff --git a/src/bedrock_ge/gi/brgi-schema.json b/src/bedrock_ge/gi/brgi-schema.json deleted file mode 100644 index 1efe430..0000000 --- a/src/bedrock_ge/gi/brgi-schema.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Location": { - "attributes": {}, - "geometry_type": "Point / 3D LineString", - "children": { - "MaterialClassification": { - "attributes": {}, - "geometry_type": "3D LineString" - }, - "SPT": { - "attributes": {}, - "geometry_type": "3D Point" - }, - "RQD": { - "attributes": {}, - "geometry_type": "3D LineString" - }, - "OtherInSituTests": { - "attributes": {}, - "geometry_type": "3D Point or 3D LineString" - }, - "Sample": { - "attributes": {}, - "geometry_type": "3D Point", - "children": { - "grainSizeDistribution": {}, - "atterbergLimits": {}, - "oedometerTest": {}, - "triaxialTest": {}, - "unconfinedCompressiveStrength": {}, - "otherLabTests": {} - } - } - } - } -} diff --git a/src/bedrock_ge/gi/concatenate.py b/src/bedrock_ge/gi/concatenate.py deleted file mode 100644 index 474d889..0000000 --- a/src/bedrock_ge/gi/concatenate.py +++ /dev/null @@ -1,38 +0,0 @@ -from typing import Dict, Union - -import geopandas as gpd -import pandas as pd - - -def concatenate_databases( - db1: Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]], - db2: Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]], -) -> Dict[str, pd.DataFrame]: - """Concatenates two dictionaries of DataFrames into one dict of DataFrames. - - The function concatenates the pandas DataFrames of the second dict of - DataFrames to the first dict of DataFrames for the keys they have in common. - Keys that are unique to either dictionary will be included in the final - concatenated dictionary. - - Args: - db1 (Dict[str, pd.DataFrame]): A dictionary of pandas DataFrames, i.e. a database. - db2 (Dict[str, pd.DataFrame]): A dictionary of pandas DataFrames, i.e. a database. - - Returns: - concatenated_dict (Dict[str, pd.DataFrame]): A dictionary of concatenated pandas DataFrames. - """ - # Create a new dict to store the concatenated dataframes - concatenated_dict = {key: df.dropna(axis=1, how="all") for key, df in db1.items()} - - # Iterate over the keys in the second dict - for key, df in db2.items(): - df = df.dropna(axis=1, how="all") - # If the key is also in the first dict, concatenate the dataframes - if key in db1: - concatenated_dict[key] = pd.concat([db1[key], df], ignore_index=True) - # If the key is not in the first dict, just add it to the new dict - else: - concatenated_dict[key] = df - - return concatenated_dict diff --git a/src/bedrock_ge/gi/db_operations.py b/src/bedrock_ge/gi/db_operations.py new file mode 100644 index 0000000..1b5b087 --- /dev/null +++ b/src/bedrock_ge/gi/db_operations.py @@ -0,0 +1,128 @@ +from collections.abc import Iterable + +import pandas as pd + +from bedrock_ge.gi.io_utils import convert_object_col_content_to_string +from bedrock_ge.gi.schemas import ( + BedrockGIDatabase, + InSituTestSchema, + LabTestSchema, + LocationSchema, + ProjectSchema, + SampleSchema, +) +from bedrock_ge.gi.validate import check_foreign_key + + +def merge_dbs( + brgi_dbs: Iterable[BedrockGIDatabase], +) -> BedrockGIDatabase: + """Merges the incoming Bedrock GI database into the target Bedrock GI database. + + The function concatenates the pandas DataFrames of the second dict of + DataFrames to the first dict of DataFrames for the keys they have in common. + Keys that are unique to either dictionary will be included in the final + concatenated dictionary. + + Args: + brgi_dbs: The Bedrock GI databases containing the data to be merged. + + Returns: + BedrockGIDatabase: Merged Bedrock GI database. + """ + dbs = list(brgi_dbs) + + if not dbs: + raise ValueError("Cannot merge an empty list of Bedrock GI databases.") + elif len(dbs) == 1 and isinstance(dbs[0], BedrockGIDatabase): + return dbs[0] + + project_dataframes = _filter_dataframes([db.Project for db in dbs]) + merged_project = pd.concat(project_dataframes, ignore_index=True) + merged_project = merged_project.drop_duplicates().reset_index(drop=True) + merged_project = convert_object_col_content_to_string(merged_project) + ProjectSchema.validate(merged_project) + + location_dataframes = _filter_dataframes([db.Location for db in dbs]) + merged_location = pd.concat(location_dataframes, ignore_index=True) + merged_location = merged_location.drop_duplicates().reset_index(drop=True) + merged_location = convert_object_col_content_to_string(merged_location) + LocationSchema.validate(merged_location) + check_foreign_key("project_uid", merged_project, merged_location) + + insitu_tables: set[str] = set() + lab_tables: set[str] = set() + other_tables: set[str] = set() + for db in dbs: + insitu_tables.update(db.InSituTests.keys()) + if db.LabTests: + lab_tables.update(db.LabTests.keys()) + if db.Other: + other_tables.update(db.Other.keys()) + + merged_insitu: dict[str, pd.DataFrame] = {} + for table_name in insitu_tables: + insitu_dataframes = _filter_dataframes( + [db.InSituTests.get(table_name) for db in dbs] + ) + insitu_df = pd.concat(insitu_dataframes, ignore_index=True) + insitu_df = insitu_df.drop_duplicates().reset_index(drop=True) + insitu_df = convert_object_col_content_to_string(insitu_df) + InSituTestSchema.validate(insitu_df) + check_foreign_key("project_uid", merged_project, insitu_df) + check_foreign_key("location_uid", merged_location, insitu_df) + merged_insitu[table_name] = insitu_df + + sample_dfs = _filter_dataframes([db.Sample for db in dbs]) + merged_sample = None + if sample_dfs: + merged_sample = pd.concat(sample_dfs, ignore_index=True) + merged_sample = merged_sample.drop_duplicates().reset_index(drop=True) + merged_sample = convert_object_col_content_to_string(merged_sample) + SampleSchema.validate(merged_sample) + check_foreign_key("project_uid", merged_project, merged_sample) + + merged_lab: dict[str, pd.DataFrame] = {} + for table_name in lab_tables: + lab_dataframes = _filter_dataframes([db.LabTests.get(table_name) for db in dbs]) + lab_df = pd.concat(lab_dataframes, ignore_index=True) + lab_df = lab_df.drop_duplicates().reset_index(drop=True) + lab_df = convert_object_col_content_to_string(lab_df) + LabTestSchema.validate(lab_df) + check_foreign_key("project_uid", merged_project, lab_df) + check_foreign_key("sample_uid", merged_sample, lab_df) + merged_lab[table_name] = lab_df + + merged_other: dict[str, pd.DataFrame] = {} + for table_name in other_tables: + other_dataframes = _filter_dataframes([db.Other.get(table_name) for db in dbs]) + other_df = pd.concat(other_dataframes, ignore_index=True) + other_df = other_df.drop_duplicates().reset_index(drop=True) + other_df = convert_object_col_content_to_string(other_df) + check_foreign_key("project_uid", merged_project, other_df) + merged_other[table_name] = other_df + + return BedrockGIDatabase( + Project=merged_project, + Location=merged_location, + InSituTests=merged_insitu, + Sample=merged_sample, + LabTests=merged_lab, + Other=merged_other, + ) + + +def _filter_dataframes(dataframes: list[pd.DataFrame | None]) -> list[pd.DataFrame]: + """Filter out empty or all-NA DataFrames to avoid FutureWarnings.""" + valid_dfs = [] + for df in dataframes: + if df is not None and not df.empty and not df.isna().all().all(): + if df.columns.duplicated().any(): + raise ValueError( + f"Duplicate column names found in dataframe:\n{list(df.columns)}" + ) + + df.dropna(axis=1, how="all", inplace=True) + + valid_dfs.append(df) + return valid_dfs diff --git a/src/bedrock_ge/gi/geospatial.py b/src/bedrock_ge/gi/geospatial.py new file mode 100644 index 0000000..22bf4f8 --- /dev/null +++ b/src/bedrock_ge/gi/geospatial.py @@ -0,0 +1,349 @@ +import geopandas as gpd +import numpy as np +import pandas as pd +from pandera.typing import DataFrame +from pyproj import CRS, Transformer +from pyproj.crs.crs import CompoundCRS +from shapely.geometry import LineString, Point + +from bedrock_ge.gi.schemas import ( + BedrockGIDatabase, + BedrockGIGeospatialDatabase, + InSituTestSchema, + LocationSchema, + SampleSchema, +) + + +def create_brgi_geodb( + brgi_db: BedrockGIDatabase, +) -> BedrockGIGeospatialDatabase: + """Creates a Bedrock GI geospatial database from a Bedrock GI database. + + Creates a Bedrock GI geospatial database by performing the following steps: + 1. Creates a geospatial DataFrame for the Location table using the + `create_location_geodf` function. + 2. Creates a geospatial DataFrame for the LonLatHeight table using the + `create_lon_lat_height_geodf` function. + 3. Creates a dictionary of geospatial DataFrames for the In-Situ test tables + using the `interpolate_gi_geometry` function. + 4. Creates a geospatial DataFrame for the Sample table using the + `interpolate_gi_geometry` function, if the Sample table exists. + 5. Returns a BedrockGIGeospatialDatabase object. + + Args: + brgi_db (BedrockGIDatabase): The Bedrock GI database to be converted. + + Returns: + BedrockGIGeospatialDatabase: The resulting Bedrock GI geospatial database. + """ + location_geodf = create_location_geodf(brgi_db) + lon_lat_height_geodf = create_lon_lat_height_geodf(brgi_db) + insitu_test_geodfs = {} + for insitu_test_name, insitu_test_data in brgi_db.InSituTests.items(): + insitu_test_geodfs[insitu_test_name] = interpolate_gi_geometry( # type: ignore + insitu_test_data, # type: ignore + location_geodf, # type: ignore + ) # type: ignore + + if brgi_db.Sample is not None: + sample_geodf = interpolate_gi_geometry(brgi_db.Sample, location_geodf) # type: ignore + else: + sample_geodf = None + + return BedrockGIGeospatialDatabase( + Project=brgi_db.Project, + Location=location_geodf, + LonLatHeight=lon_lat_height_geodf, + InSituTests=insitu_test_geodfs, + Sample=sample_geodf, + LabTests=brgi_db.LabTests, + Other=brgi_db.Other, + ) + + +def create_location_geodf(brgi_db: BedrockGIDatabase) -> gpd.GeoDataFrame: + """Creates a geospatial DataFrame for the Location table from a Bedrock GI database. + + This function generates a GeoDataFrame for the Location table using the input + Bedrock GI database. It assumes the boreholes are vertical (for now) and calculates + elevation at the base of each borehole. It raises an error if multiple + horizontal or vertical coordinate reference systems (CRS) are found in the + project data. + + Args: + brgi_db (BedrockGIDatabase): The Bedrock GI database containing location + data and project CRS information. + + Returns: + gpd.GeoDataFrame: A GeoDataFrame with LineString geometries representing + vertical boreholes, using the compound CRS derived from the project's + horizontal and vertical CRS. + """ + # TODO: Implement logic to handle multiple CRS'es in the input GI data: + # 1. Create WKT geometry for each location in original CRS + # 2. Convert to WGS84 + EGM2008 orthometric height EPSG:9518 + # 3. Interpolate InSituTest and Sample geospatial vector geometry from active geometry column + hor_crs_series = brgi_db.Project["horizontal_crs_wkt"] + vert_crs_series = brgi_db.Project["vertical_crs_wkt"] + if hor_crs_series.nunique() > 1 or vert_crs_series.nunique() > 1: + raise ValueError( + "All projects must have the same horizontal and vertical CRS (Coordinate Reference System).\n" + "Raise an issue on GitHub in case you need to be able to combine GI data that was acquired in multiple different CRSes." + ) + + horizontal_crs = CRS.from_wkt(hor_crs_series.iat[0]) + vertical_crs = CRS.from_wkt(vert_crs_series.iat[0]) + compound_crs = CompoundCRS( + name=f"{horizontal_crs.name} + {vertical_crs.name}", + components=[horizontal_crs, vertical_crs], + ) + + # TODO: Implement logic such that inclined borholes are handled correctly. + # All boreholes are now assumed to be vertical. + location_df = brgi_db.Location.copy() + location_df["elevation_at_base"] = ( + location_df["ground_level_elevation"] - location_df["depth_to_base"] + ) + return gpd.GeoDataFrame( + brgi_db.Location.copy(), + geometry=location_df.apply( + lambda row: LineString( + [ + (row["easting"], row["northing"], row["ground_level_elevation"]), + (row["easting"], row["northing"], row["elevation_at_base"]), + ] + ), + axis=1, + ), + crs=compound_crs, + ) + + +def create_lon_lat_height_geodf(brgi_db: BedrockGIDatabase) -> gpd.GeoDataFrame: + """Creates GeoDataFrame with (lon, lat, height) for each location in a Bedrock GI database. + + This function processes all GI locations in a Bedrock GI database, transforming the + (easting, northing, ground level elevation) coordinates to WGS84 (lon, lat) + + EGM2008 orthometric height coordinates, which have coordinate reference system EPSG:9518. + It returns a GeoDataFrame with the transformed longitude, latitude, and + EGM2008 ground level height, along with the corresponding point geometries in EPSG:9518. + + Args: + brgi_db (BedrockGIDatabase): The source Bedrock Ground Investigation database + containing location and project information. + + Returns: + gpd.GeoDataFrame: A GeoDataFrame with the transformed longitude, latitude, + and EGM2008 ground level height, along with the corresponding point + geometries in EPSG:9518. + """ + wgs84_egm2008_crs = CRS("EPSG:9518") + crs_lookup = brgi_db.Project.set_index("project_uid") + dfs = [] + for project_uid, location_df in brgi_db.Location.groupby("project_uid"): + horizontal_crs = CRS.from_wkt(crs_lookup.at[project_uid, "horizontal_crs_wkt"]) + vertical_crs = CRS.from_wkt(crs_lookup.at[project_uid, "vertical_crs_wkt"]) + compound_crs = CompoundCRS( + name=f"{horizontal_crs.name} + {vertical_crs.name}", + components=[horizontal_crs, vertical_crs], + ) + transformer = Transformer.from_crs( + compound_crs, wgs84_egm2008_crs, always_xy=True + ) + lon, lat, egm2008_height = transformer.transform( + location_df["easting"], + location_df["northing"], + location_df["ground_level_elevation"], + ) + dfs.append( + pd.DataFrame( + { + "project_uid": project_uid, + "location_uid": location_df["location_uid"], + "longitude": lon, + "latitude": lat, + "egm2008_ground_level_height": egm2008_height, + } + ) + ) + + lon_lat_height_df = pd.concat(dfs, ignore_index=True) + return gpd.GeoDataFrame( + lon_lat_height_df, + geometry=gpd.points_from_xy( + lon_lat_height_df["longitude"], + lon_lat_height_df["latitude"], + lon_lat_height_df["egm2008_ground_level_height"], + ), + crs=wgs84_egm2008_crs, + ) + + +def interpolate_gi_geometry( + insitu_test_df: DataFrame[InSituTestSchema] | DataFrame[SampleSchema], + location_geodf: gpd.GeoDataFrame, +) -> gpd.GeoDataFrame: + """Interpolates the geospatial geometry for a given In-Situ test DataFrame using the corresponding GI Location GeoDataFrame. + + This function takes an In-Situ test or Sample DataFrame and a GI Location GeoDataFrame and + returns a GeoDataFrame with its geometry interpolated from the Location GeoDataFrame. + The In-Situ test geometry is always a LineString or Point, depending on whether the + In-Situ test is performed at a specific depth or over a depth interval inside a borehole. + The geometry is calculated by linearly interpolating the depth values for each row + in a In-Situ test DataFrame along the corresponding location's LineString geometry. + + Args: + insitu_test_df: The In-Situ test or Sample DataFrame containing the depth values to be interpolated. + location_geodf: The location GeoDataFrame containing the location LineStrings to be used for interpolation. + + Returns: + gpd.GeoDataFrame: A GeoDataFrame containing the interpolated geospatial geometry + for the In-Situ test DataFrame. + """ + # TODO: implement a warning when interpolating GI geospatial geometry when + # TODO: a single GI location has waaay too many rows in a certain In-Situ test. + geodf = location_geodf[["location_uid", "geometry"]].merge( + insitu_test_df, + how="right", + on="location_uid", + ) + return gpd.GeoDataFrame( + insitu_test_df.copy(), + geometry=geodf.apply( + _interpolate_gi_geometry_row, + axis=1, + ), + crs=str(geodf.crs), + ) + + +def _interpolate_gi_geometry_row(row: pd.Series) -> LineString | Point: + """Process geometry based on available depth values for each row.""" + has_top = pd.notna(row.get("depth_to_top")) + has_base = pd.notna(row.get("depth_to_base")) + + if has_top and has_base: + return substring_3d( + row["geometry"], + start_dist=row["depth_to_top"], + end_dist=row["depth_to_base"], + ) + elif has_top: + return interpolate_3d( + row["geometry"], + distance=row["depth_to_top"], + ) + elif has_base: + return interpolate_3d( + row["geometry"], + distance=row["depth_to_base"], + ) + else: + raise KeyError( + "An In-Situ test must either have a 'depth_to_top' or a 'depth_to_base', or both." + ) + + +def calc_distances_along_3d_linestring(linestring: LineString) -> np.ndarray: + """Calculate cumulative distances along a 3D LineString.""" + coords = np.array(linestring.coords) + if coords.shape[1] < 3: + raise ValueError("Coordinates must be 3D (x, y, z)") + + # Calculate 3D distances between consecutive points + diffs = np.diff(coords, axis=0) + distances = np.sqrt(np.sum(diffs**2, axis=1)) + + # Return cumulative distances (starting with 0) + return np.concatenate([[0], np.cumsum(distances)]) + + +def interpolate_3d(linestring: LineString, distance: float) -> Point: + """Interpolate a point along a 3D LineString using true 3D distance. + + Return the first point if the distance is less than 0 or the last point if + the distance is greater than the total length. This behavior is different than + the shapely.LineString.interpolate method. + + Args: + linestring: A 3D LineString geometry + distance: Distance along the line in 3D space + + Returns: + Point: The interpolated 3D point + """ + if distance <= 0: + return Point(linestring.coords[0]) + + cumulative_distances = calc_distances_along_3d_linestring(linestring) + total_length = cumulative_distances[-1] + + if distance >= total_length: + return Point(linestring.coords[-1]) + + # Find the segment where the distance falls + segment_end_idx = int(np.searchsorted(cumulative_distances, distance)) + segment_end_dist = cumulative_distances[segment_end_idx] + segment_start_idx = max(0, segment_end_idx - 1) # Ensure non-negative + segment_start_dist = cumulative_distances[segment_start_idx] + + # Get the coordinates of the point at the start of the segment + p1 = np.array(linestring.coords[segment_start_idx]) + segment_length = segment_end_dist - segment_start_dist + if segment_length == 0: + return Point(p1) + p2 = np.array(linestring.coords[segment_end_idx]) + + # Calculate the ratio of how far along the segment the distance of interest falls + ratio = (distance - segment_start_dist) / segment_length + + return Point(p1 + ratio * (p2 - p1)) + + +def substring_3d( + linestring: LineString, start_dist: float, end_dist: float +) -> LineString | Point: + """Extract a substring of a 3D LineString using true 3D distances. + + Args: + linestring: A 3D LineString geometry + start_dist: Start distance along the line in 3D space + end_dist: End distance along the line in 3D space + + Returns: + LineString: The extracted 3D LineString segment + """ + # Ensure start_dist <= end_dist + if start_dist > end_dist: + start_dist, end_dist = end_dist, start_dist + + # Calculate cumulative 3D distances + cumulative_distances = calc_distances_along_3d_linestring(linestring) + total_length = cumulative_distances[-1] + + # Handle edge cases + start_dist = max(0, min(start_dist, total_length)) + end_dist = max(0, min(end_dist, total_length)) + + if start_dist == end_dist: + return interpolate_3d(linestring, start_dist) + + # Find segments that intersect with our range + result_coords = [] + + # Add start point if it's not at a linestring vertex + start_point = interpolate_3d(linestring, start_dist) + result_coords.append(start_point.coords[0]) + + # Add all vertices that fall within the range + for i, dist in enumerate(cumulative_distances): + if start_dist < dist < end_dist: + result_coords.append(linestring.coords[i]) + + # Add end point if it's not at a vertex + end_point = interpolate_3d(linestring, end_dist) + if end_point.coords[0] != result_coords[-1]: # Avoid duplicate points + result_coords.append(end_point.coords[0]) + + return LineString(result_coords) diff --git a/src/bedrock_ge/gi/gis_geometry.py b/src/bedrock_ge/gi/gis_geometry.py deleted file mode 100644 index c6ce13c..0000000 --- a/src/bedrock_ge/gi/gis_geometry.py +++ /dev/null @@ -1,284 +0,0 @@ -from __future__ import annotations - -from typing import Dict, Tuple, Union - -import geopandas as gpd -import numpy as np -import pandas as pd -from pyproj import Transformer -from pyproj.crs import CRS -from shapely.geometry import LineString, Point - -# TODO: change function type hints, such that pandera checks the dataframes against the Bedrock schemas - - -def calculate_gis_geometry( - no_gis_brgi_db: Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]], - verbose: bool = True, -) -> Dict[str, gpd.GeoDataFrame]: - """Calculates GIS geometry for tables in a Bedrock Ground Investigation database. - - This function processes a dictionary of DataFrames containing Ground Investigation (GI) data, - adding appropriate GIS geometry to each table. It handles both 2D and 3D geometries, - including vertical boreholes and sampling locations. - - Args: - no_gis_brgi_db (Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]]): Dictionary containing - the Bedrock GI database tables without GIS geometry. Keys are table names, - values are either pandas DataFrames or GeoDataFrames. - verbose (bool, optional): Whether to print progress information. Defaults to True. - - Returns: - Dict[str, gpd.GeoDataFrame]: Dictionary containing the Bedrock GI database tables - with added GIS geometry. All tables are converted to GeoDataFrames with - appropriate CRS and geometry columns. - - Raises: - ValueError: If the projects in the database use different Coordinate Reference Systems (CRS). - - Note: - The function performs the following operations: - - 1. Verifies all projects use the same CRS - 2. Calculates GIS geometry for the 'Location' table - 3. Creates a 'LonLatHeight' table for 2D visualization - 4. Processes 'Sample' table if present - 5. Processes all tables starting with "InSitu_" - """ - # Make sure that the Bedrock database is not changed outside this function. - brgi_db = no_gis_brgi_db.copy() - - if verbose: - print("Calculating GIS geometry for the Bedrock GI database tables...") - - # Check if all projects have the same CRS - if not brgi_db["Project"]["crs_wkt"].nunique() == 1: - raise ValueError( - "All projects must have the same CRS (Coordinate Reference System).\n" - "Raise an issue on GitHub in case you need to be able to combine GI data that was acquired in multiple different CRS's." - ) - - crs = CRS.from_wkt(brgi_db["Project"]["crs_wkt"].iloc[0]) - - # Calculate GIS geometry for the 'Location' table - if verbose: - print("Calculating GIS geometry for the Bedrock GI 'Location' table...") - brgi_db["Location"] = calculate_location_gis_geometry(brgi_db["Location"], crs) - - # Create the 'LonLatHeight' table. - # The 'LonLatHeight' table makes it easier to visualize the GIS geometry on 2D maps, - # because vertical lines are often very small or completely hidden in 2D. - # This table only contains the 3D of the GI locations at ground level, - # in WGS84 (Longitude, Latitude, Height) coordinates. - if verbose: - print( - "Creating 'LonLatHeight' table with GI locations in WGS84 geodetic coordinates...", - " WGS84 geodetic coordinates: (Longitude, Latitude, Ground Level Ellipsoidal Height)", - sep="\n", - ) - brgi_db["LonLatHeight"] = create_lon_lat_height_table(brgi_db["Location"], crs) - - # Create GIS geometry for tables that have In-Situ GIS geometry. - # These are the 'Sample' table and 'InSitu_...' tables. - # These tables are children of the Location table, - # i.e. have the 'Location' table as the parent table. - if "Sample" in brgi_db.keys(): - if verbose: - print("Calculating GIS geometry for the Bedrock GI 'Sample' table...") - brgi_db["Sample"] = calculate_in_situ_gis_geometry( - brgi_db["Sample"], brgi_db["Location"], crs - ) - - for table_name, table in brgi_db.items(): - if table_name.startswith("InSitu_"): - if verbose: - print( - f"Calculating GIS geometry for the Bedrock GI '{table_name}' table..." - ) - brgi_db[table_name] = calculate_in_situ_gis_geometry( - table, brgi_db["Location"], crs - ) - - return brgi_db - - -def calculate_location_gis_geometry( - brgi_location: Union[pd.DataFrame, gpd.GeoDataFrame], crs: CRS -) -> gpd.GeoDataFrame: - """Calculates GIS geometry for a set of Ground Investigation locations. - - Args: - brgi_location (Union[pd.DataFrame, gpd.GeoDataFrame]): The GI locations to calculate GIS geometry for. - crs (pyproj.CRS): The Coordinate Reference System (CRS) to use for the GIS geometry. - - Returns: - gpd.GeoDataFrame: The GIS geometry for the given GI locations, with additional columns: - - longitude: The longitude of the location in the WGS84 CRS. - - latitude: The latitude of the location in the WGS84 CRS. - - wgs84_ground_level_height: The height of the ground level of the location in the WGS84 CRS. - - elevation_at_base: The elevation at the base of the location. - - geometry: The GIS geometry of the location. - """ - # Calculate Elevation at base of GI location - brgi_location["elevation_at_base"] = ( - brgi_location["ground_level_elevation"] - brgi_location["depth_to_base"] - ) - - # Make a gpd.GeoDataFrame from the pd.DataFrame by creating GIS geometry - brgi_location = gpd.GeoDataFrame( - brgi_location, - geometry=brgi_location.apply( - lambda row: LineString( - [ - (row["easting"], row["northing"], row["ground_level_elevation"]), - (row["easting"], row["northing"], row["elevation_at_base"]), - ] - ), - axis=1, - ), - crs=crs, - ) - - # Calculate WGS84 geodetic coordinates - brgi_location[["longitude", "latitude", "wgs84_ground_level_height"]] = ( - brgi_location.apply( - lambda row: calculate_wgs84_coordinates( - from_crs=crs, - easting=row["easting"], - northing=row["northing"], - elevation=row["ground_level_elevation"], - ), - axis=1, - result_type="expand", - ) - ) - - return brgi_location - - -def calculate_wgs84_coordinates( - from_crs: CRS, easting: float, northing: float, elevation: Union[float, None] = None -) -> Tuple[float, float, (float | None)]: - """Transforms coordinates from an arbitrary Coordinate Reference System (CRS) to the WGS84 CRS, which is the standard for geodetic coordinates. - - Args: - from_crs (pyproj.CRS): The pyproj.CRS object of the CRS to transform from. - easting (float): The easting coordinate of the point to transform. - northing (float): The northing coordinate of the point to transform. - elevation (float or None, optional): The elevation of the point to - transform. Defaults to None. - - Returns: - Tuple[float, float, (float | None)]: A tuple containing the longitude, latitude - and WGS84 height of the transformed point, in that order. - The height is None if no elevation was given, or if the provided CRS doesn't - have a proper datum defined. - """ - transformer = Transformer.from_crs(from_crs, 4326, always_xy=True) - if elevation: - lon, lat, wgs84_height = transformer.transform(easting, northing, elevation) - else: - lon, lat = transformer.transform(easting, northing) - wgs84_height = None - - return (lon, lat, wgs84_height) - - -def create_lon_lat_height_table( - brgi_location: gpd.GeoDataFrame, crs: CRS -) -> gpd.GeoDataFrame: - """Creates a GeoDataFrame with GI locations in WGS84 (lon, lat, height) coordinates. - - The 'LonLatHeight' table makes it easier to visualize the GIS geometry on 2D maps, - because vertical lines are often very small or completely hidden in 2D. This table - only contains the 3D point of the GI locations at ground level, in WGS84 (Longitude, - Latitude, Height) coordinates. Other attributes, such as the location type, sample - type, geology description, etc., can be attached to this table by joining, i.e. - merging those tables on the location_uid key. - - Args: - brgi_location (GeoDataFrame): The GeoDataFrame with the GI locations. - crs (CRS): The Coordinate Reference System of the GI locations. - - Returns: - gpd.GeoDataFrame: The 'LonLatHeight' GeoDataFrame. - """ - lon_lat_height = gpd.GeoDataFrame( - brgi_location[ - [ - "project_uid", - "location_uid", - ] - ], - geometry=brgi_location.apply( - lambda row: Point( - row["longitude"], row["latitude"], row["wgs84_ground_level_height"] - ), - axis=1, - ), - crs=4326, - ) - return lon_lat_height - - -def calculate_in_situ_gis_geometry( - brgi_in_situ: Union[pd.DataFrame, gpd.GeoDataFrame], - brgi_location: Union[pd.DataFrame, gpd.GeoDataFrame], - crs: CRS, -) -> gpd.GeoDataFrame: - """Calculates GIS geometry for a set of Ground Investigation in-situ data. - - Args: - brgi_in_situ (Union[pd.DataFrame, gpd.GeoDataFrame]): The in-situ data to calculate GIS geometry for. - brgi_location (Union[pd.DataFrame, gpd.GeoDataFrame]): The location data to merge with the in-situ data. - crs (CRS): The Coordinate Reference System of the in-situ data. - - Returns: - gpd.GeoDataFrame: The GIS geometry for the given in-situ data, with additional columns: - - elevation_at_top: The elevation at the top of the in-situ data. - - elevation_at_base: The elevation at the base of the in-situ data. - - geometry: The GIS geometry of the in-situ data. - """ - location_child = brgi_in_situ.copy() - - # Merge the location data into the in-situ data to get the location coordinates - location_child = pd.merge( - location_child, - brgi_location[ - ["location_uid", "easting", "northing", "ground_level_elevation"] - ], - on="location_uid", - how="left", - ) - - # Calculate the elevation at the top of the Sample or in-situ test - location_child["elevation_at_top"] = ( - location_child["ground_level_elevation"] - location_child["depth_to_top"] - ) - brgi_in_situ["elevation_at_top"] = location_child["elevation_at_top"] - - # Calculate the elevation at the base of the Sample or in-situ test - if "depth_to_base" in location_child.columns: - location_child["elevation_at_base"] = ( - location_child["ground_level_elevation"] - location_child["depth_to_base"] - ) - brgi_in_situ["elevation_at_base"] = location_child["elevation_at_base"] - - # Create the in-situ data as a GeoDataFrame with LineString GIS geometry for - # Samples or in-situ tests that have an elevation at the base of the Sample or in-situ test. - brgi_in_situ = gpd.GeoDataFrame( - brgi_in_situ, - geometry=location_child.apply( - lambda row: LineString( - [ - (row["easting"], row["northing"], row["elevation_at_top"]), - (row["easting"], row["northing"], row["elevation_at_base"]), - ] - ) - if "elevation_at_base" in row and not np.isnan(row["elevation_at_base"]) - else Point((row["easting"], row["northing"], row["elevation_at_top"])), - axis=1, - ), - crs=crs, - ) - return brgi_in_situ diff --git a/src/bedrock_ge/gi/io_utils.py b/src/bedrock_ge/gi/io_utils.py new file mode 100644 index 0000000..c5f80bd --- /dev/null +++ b/src/bedrock_ge/gi/io_utils.py @@ -0,0 +1,271 @@ +"""Utility functions for reading, parsing and writing data.""" + +import codecs +import io +from contextlib import contextmanager, nullcontext +from pathlib import Path +from typing import IO, ContextManager + +import chardet +import geopandas as gpd +import pandas as pd + +from bedrock_ge.gi.schemas import BedrockGIDatabase, BedrockGIGeospatialDatabase + +DEFAULT_ENCODING = "utf-8" + + +def detect_encoding(source: str | Path | IO[str] | IO[bytes] | bytes) -> str: + """Detect the character encoding of various input types. + + Args: + source (str | Path | IO[str] | IO[bytes] | bytes): The source to detect encoding from. + - str or Path: File path. + - IO[str]: Already decoded text stream (returns `DEFAULT_ENCODING`) + - IO[bytes]: Binary stream to detect encoding from + - bytes: Binary data to detect encoding from + + Returns: + str: The detected encoding name (e.g., 'utf-8', 'iso-8859-1', 'ascii', etc.) + + Raises: + TypeError: If the source type is unsupported + FileNotFoundError: If a file path doesn't exist + """ + # Set number of bytes to read for detection and required confidence + SAMPLE_SIZE = 1_000_000 + REQUIRED_CONFIDENCE = 0.7 + + def _detect_from_bytes(data: bytes) -> str: + """Detect encoding from bytes data.""" + sample = data[: min(len(data), SAMPLE_SIZE)] + result = chardet.detect(sample) + encoding = result.get("encoding", DEFAULT_ENCODING) + confidence = result.get("confidence", 0.0) + + if not encoding or confidence < REQUIRED_CONFIDENCE: + return DEFAULT_ENCODING + + if encoding.lower() == "ascii": + return "utf-8" + + return encoding + + def _read_from_path(path: Path): + """Read contents from path.""" + if path.exists() and path.is_file(): + with open(path, "rb") as file: + sample = file.read(SAMPLE_SIZE) + return _detect_from_bytes(sample) + else: + raise FileNotFoundError( + f"Path does not exist or is not a file: {path.__str__()[0:40]}" + ) + + # bytes + if isinstance(source, bytes): + return _detect_from_bytes(source) + + # String, if not a path, still returns DEFAULT_ENCODING + if isinstance(source, str): + path = Path(source) + try: + return _read_from_path(path) + except FileNotFoundError: + return DEFAULT_ENCODING + + # Path object + if isinstance(source, Path): + return _read_from_path(source) + + # IO[str] object + if hasattr(source, "encoding"): + if source.encoding: + # Could be `None`, e.g. io.StringIO has an encoding attribute which is None. + return source.encoding + else: + return DEFAULT_ENCODING + + # IO[bytes] + if isinstance(source, io.BufferedIOBase): + try: + if not source.seekable(): + # For non-seekable streams, read what we can without seeking + sample = source.read(SAMPLE_SIZE) + if isinstance(sample, bytes): + return _detect_from_bytes(sample) + else: + return DEFAULT_ENCODING + + # For seekable streams, preserve position + original_position = source.tell() + try: + source.seek(0) + sample = source.read(SAMPLE_SIZE) + if isinstance(sample, bytes): + encoding = _detect_from_bytes(sample) + else: + # if not bytes, then its a custom string-like type that was not caught + encoding = DEFAULT_ENCODING + return encoding + finally: + source.seek(original_position) + except (AttributeError, IOError, OSError): + return DEFAULT_ENCODING + + raise TypeError(f"Unsupported input type for encoding detection: {type(source)}") + + +def open_text_data_source( + source: str | Path | IO[str] | IO[bytes] | bytes, encoding: str | None = None +) -> ContextManager[io.TextIOBase]: + """Opens or wraps a given source for reading AGS (text-based) data. + + Args: + source (str | Path | IO[str] | IO[bytes] | bytes): The source to read from. + - str or Path: File path or direct string content. + - IO[str]: A file-like text stream. + - IO[bytes]: Byte stream + - bytes: Binary content or stream (will be decoded). + encoding (str | None): Encoding to use for decoding bytes. Default is None. + + Returns: + ContextManager[TextIOBase]: A context manager yielding a text stream. + + Raises: + TypeError: If the source type is unsupported or binary streams are not decoded. + """ + try: + codecs.lookup(encoding) + except LookupError: + raise ValueError(f"Unsupported encoding: {encoding}") + + @contextmanager + def _bytes_source(bytes_content: bytes): + string_io = io.StringIO(bytes_content.decode(encoding)) + try: + yield string_io + finally: + string_io.close() + + if isinstance(source, (str, Path)): + path = Path(source) + if path.exists() and path.is_file(): + return open(path, "r", encoding=encoding) + raise FileNotFoundError(f"Path does not exist or is not a file: {source}") + + elif isinstance(source, io.TextIOBase): + source.seek(0) + return nullcontext(source) + + elif isinstance(source, io.BufferedIOBase): + text_stream = io.TextIOWrapper(source, encoding=encoding) + text_stream.seek(0) + return nullcontext(text_stream) + + elif isinstance(source, bytes): + return _bytes_source(source) + + else: + raise TypeError( + f"Unsupported source type: {type(source)}. " + "Expected str, Path, IO[str], IO[bytes], or bytes." + ) + + +def coerce_string(string: str) -> None | bool | float | str: + """Converts a string to an appropriate Python data type. + + Args: + string (str): The input string to be converted. + + Returns: + None: If the string is 'none', 'null', or empty. + bool: If the string is 'true' or 'false' (case insensitive). + int: If the string can be converted to a float and has no decimal part. + float: If the string can be converted to a float with a decimal part. + str: If the string cannot be converted to any of the above types. + + """ + if string.lower() in {"none", "null", ""}: + return None + elif string.lower() == "true": + return True + elif string.lower() == "false": + return False + else: + try: + value = float(string) + if value.is_integer(): + return int(value) + else: + return value + except ValueError: + return string + + +def brgi_db_to_dfs( + brgi_db: BedrockGIDatabase | BedrockGIGeospatialDatabase, +) -> dict[str, pd.DataFrame | gpd.GeoDataFrame]: + """Converts a Bedrock GI (geospatial) database to a dictionary of DataFrames. + + Args: + brgi_db (BedrockGIDatabase | BedrockGIGeospatialDatabase): The Bedrock GI (geospatial) database. + + Returns: + dict[str, pd.DataFrame | gpd.GeoDataFrame]: A dictionary where the keys are + the Bedrock GI table names and the values are the DataFrames that contain + the data for each table. + """ + dict_of_dfs = { + "Project": brgi_db.Project, + "Location": brgi_db.Location, + } + + if hasattr(brgi_db, "LonLatHeight"): + dict_of_dfs["LonLatHeight"] = brgi_db.LonLatHeight + + if brgi_db.Sample is not None: + dict_of_dfs["Sample"] = brgi_db.Sample + + insitu_dfs = {k: v for k, v in brgi_db.InSituTests.items()} + lab_dfs = {k: v for k, v in brgi_db.LabTests.items()} + other_dfs = {k: v for k, v in brgi_db.Other.items()} + + return dict_of_dfs | insitu_dfs | lab_dfs | other_dfs + + +def convert_object_col_content_to_string( + df: pd.DataFrame, in_place: bool = True +) -> pd.DataFrame: + """Converts the data in columns with the object dtype to strings. + + The real reason that this is necessary is that pandas and marimo are a little finicky about strings: + 1. The built-in pd.Dataframe.convert_dtypes() method doesn't convert the dtype of + columns that contain multiple types in that same column to string. + 2. marimo cannot handle pd.DataFrames with nullable strings (and other nullable pandas dtypes) + very well, see https://github.com/marimo-team/marimo/issues/5445. + + Therefore, this function converts all the data in columns with the object dtype to strings, + and then back to the object dtype. + + Args: + df: The DataFrame to modify. + in_place: Whether to modify the DataFrame in-place (default) or return a new DataFrame. + + Returns: + pd.DataFrame: The modified DataFrame with object dtypes converted to string dtypes. + + """ + if not in_place: + df = df.copy() + object_cols = df.select_dtypes(include=["object"]).columns + df[object_cols] = df[object_cols].astype("string") + df[object_cols] = df[object_cols].astype("object") + return df + + +def geodf_to_df(geodf: gpd.GeoDataFrame) -> pd.DataFrame: + """Convenience function to convert GeoDataFrames to DataFrames for nicer display in notebook environments like marimo.""" + df = pd.DataFrame(geodf.copy()) + return df.assign(geometry=df.geometry.astype(str)) diff --git a/src/bedrock_ge/gi/mapper.py b/src/bedrock_ge/gi/mapper.py new file mode 100644 index 0000000..b1b68f6 --- /dev/null +++ b/src/bedrock_ge/gi/mapper.py @@ -0,0 +1,221 @@ +import base64 +import hashlib +import json + +import pandas as pd + +from bedrock_ge.gi.mapping_models import BedrockGIMapping +from bedrock_ge.gi.schemas import ( + BedrockGIDatabase, + InSituTestSchema, + LabTestSchema, + LocationSchema, + ProjectSchema, + SampleSchema, +) + + +def map_to_brgi_db(brgi_db_mapping: BedrockGIMapping) -> BedrockGIDatabase: + """Creates a Bedrock GI Database for a single project from a BedrockGIMapping. + + This function takes a BedrockGIDatabaseMapping, which contains various table mappings + for project, location, in-situ tests, samples, lab tests, and other tables, and + converts it into a BedrockGIDatabase object. It creates pandas DataFrames for each + table, validates them against their respective schemas, and constructs the final + BedrockGIDatabase object. + + Examples: + ```python + from pyproj import CRS + from bedrock_ge.gi.mapping_models import BedrockGIMapping + + brgi_db_mapping = BedrockGIMapping( + ProjectTableMapping={ + "data": { + "project_name: "Test Project", + "project_description": "Project description. Add more data about the project here if you please." + } + "project_id": "project-1", + "horizontal_crs": CRS("EPSG:2193"), + "vertical_crs": CRS("EPSG:7839"), + }, + LocationTableMapping={ + "data": location_df, + "location_id_column": "LocationID", + "easting_column": "Easting", + "northing_column": "Northing", + "ground_level_elevation_column": "GroundLevel", + "depth_to_base_column": "FinalDepth", + }, + InSituTestTableMapping=[ + { + "table_name": "Geol", + "data": geology_df, + "location_id_column": "LocationID", + "depth_to_top_column": "from", + "depth_to_base_column": "to", + }, + { + "table_name": "SPT", + "data": spt_df, + "location_id_column": "LocationID", + "depth_to_top"column": "from", + } + ], + SampleTableMapping=None, + LabTestTableMapping=[], + OtherTable=[], + ) + ``` + + Args: + brgi_db_mapping (BedrockGIDatabaseMapping): The mapping object containing GI + data and metadata for mapping to Bedrock's schema. + + Returns: + BedrockGIDatabase: The transformed Bedrock GI database containing validated + DataFrames for each table type. + """ + # Create a base64 hash from the project data, such that a project Unique ID + # can be created from the project_id and the hash of the project data. + project_data_jsons = json.dumps(brgi_db_mapping.Project.data, sort_keys=True) + project_data_bytes_hash = hashlib.blake2b( + project_data_jsons.encode("utf-8"), digest_size=9 + ).digest() + project_data_b64_hash = base64.b64encode(project_data_bytes_hash).decode() + project_uid = brgi_db_mapping.Project.project_id + "-" + project_data_b64_hash + + # Create the project table + project_df = pd.DataFrame( + { + "project_uid": project_uid, + "project_source_id": brgi_db_mapping.Project.project_id, + "horizontal_crs": brgi_db_mapping.Project.horizontal_crs.to_string(), + "horizontal_crs_wkt": brgi_db_mapping.Project.horizontal_crs.to_wkt(), + "vertical_crs": brgi_db_mapping.Project.vertical_crs.to_string(), + "vertical_crs_wkt": brgi_db_mapping.Project.vertical_crs.to_wkt(), + **brgi_db_mapping.Project.data, + }, + index=[0], + ) + project_df = project_df.loc[:, ~project_df.columns.duplicated()] + ProjectSchema.validate(project_df) + + # Create the location table + location_df = pd.DataFrame( + { + "location_uid": brgi_db_mapping.Location.data[ + brgi_db_mapping.Location.location_id_column + ] + + f"_{project_uid}", + "location_source_id": brgi_db_mapping.Location.data[ + brgi_db_mapping.Location.location_id_column + ], + "project_uid": project_uid, + "easting": brgi_db_mapping.Location.data[ + brgi_db_mapping.Location.easting_column + ], + "northing": brgi_db_mapping.Location.data[ + brgi_db_mapping.Location.northing_column + ], + "ground_level_elevation": brgi_db_mapping.Location.data[ + brgi_db_mapping.Location.ground_level_elevation_column + ], + "depth_to_base": brgi_db_mapping.Location.data[ + brgi_db_mapping.Location.depth_to_base_column + ], + } + ) + location_df = pd.concat([location_df, brgi_db_mapping.Location.data], axis=1) + location_df = location_df.loc[:, ~location_df.columns.duplicated()] + location_df = LocationSchema.validate(location_df) + + # Create the in-situ test tables + insitu_tests = {} + for insitu_mapping in brgi_db_mapping.InSitu: + insitu_df = pd.DataFrame( + { + "project_uid": project_uid, + "location_uid": insitu_mapping.data[insitu_mapping.location_id_column] + + f"_{project_uid}", + } + ) + if insitu_mapping.depth_to_top_column: + insitu_df["depth_to_top"] = insitu_mapping.data[ + insitu_mapping.depth_to_top_column + ] + if insitu_mapping.depth_to_base_column: + insitu_df["depth_to_base"] = insitu_mapping.data[ + insitu_mapping.depth_to_base_column + ] + insitu_df = pd.concat([insitu_df, insitu_mapping.data], axis=1) + insitu_df = insitu_df.loc[:, ~insitu_df.columns.duplicated()] + insitu_df = InSituTestSchema.validate(insitu_df) + insitu_tests[insitu_mapping.table_name] = insitu_df.copy() + + # Create the sample table + sample_df = None + if brgi_db_mapping.Sample: + sample_df = pd.DataFrame( + { + "sample_uid": brgi_db_mapping.Sample.data[ + brgi_db_mapping.Sample.sample_id_column + ] + + f"_{project_uid}", + "sample_source_id": brgi_db_mapping.Sample.data[ + brgi_db_mapping.Sample.sample_id_column + ], + "project_uid": project_uid, + "location_uid": brgi_db_mapping.Sample.data[ + brgi_db_mapping.Sample.location_id_column + ] + + f"_{project_uid}", + "depth_to_top": brgi_db_mapping.Sample.data[ + brgi_db_mapping.Sample.depth_to_top_column + ], + } + ) + if brgi_db_mapping.Sample.depth_to_base_column: + sample_df["depth_to_base"] = brgi_db_mapping.Sample.data[ + brgi_db_mapping.Sample.depth_to_top_column + ] + sample_df = pd.concat([sample_df, brgi_db_mapping.Sample.data], axis=1) + sample_df = sample_df.loc[:, ~sample_df.columns.duplicated()] + sample_df = SampleSchema.validate(sample_df) + + # Create the lab test tables + lab_tests = {} + if brgi_db_mapping.Lab: + for lab_mapping in brgi_db_mapping.Lab: + lab_df = pd.DataFrame( + { + "project_uid": project_uid, + "sample_uid": lab_mapping.data[lab_mapping.sample_id_column] + + f"_{project_uid}", + } + ) + if lab_mapping.location_id_column: + lab_df["location_uid"] = lab_mapping.data[ + lab_mapping.location_id_column + ] + lab_df = pd.concat([lab_df, lab_mapping.data.copy()], axis=1) + LabTestSchema.validate(lab_df) + lab_tests[lab_mapping.table_name] = lab_df.copy() + + # Create the other tables + other_tables = {} + if brgi_db_mapping.Other: + for other_table_mapping in brgi_db_mapping.Other: + other_table_df = other_table_mapping.data + other_table_df.insert(0, "project_uid", project_uid) + other_tables[other_table_mapping.table_name] = other_table_df + + # Create and return the Bedrock GI database + return BedrockGIDatabase( + Project=project_df, + Location=location_df, + InSituTests=insitu_tests, + Sample=sample_df, + LabTests=lab_tests, + Other=other_tables, + ) diff --git a/src/bedrock_ge/gi/mapping_models.py b/src/bedrock_ge/gi/mapping_models.py new file mode 100644 index 0000000..89e71d8 --- /dev/null +++ b/src/bedrock_ge/gi/mapping_models.py @@ -0,0 +1,69 @@ +from typing import Optional, Union + +import pandas as pd +import pyproj +from pydantic import BaseModel, ConfigDict, Field, model_validator + + +class ProjectTableMapping(BaseModel): + data: dict = {} + project_id: str + horizontal_crs: pyproj.CRS + vertical_crs: pyproj.CRS = Field(default=pyproj.CRS(3855)) + # "compound_crs": Optional[CRS] = None + + model_config = ConfigDict(arbitrary_types_allowed=True) + + +class LocationTableMapping(BaseModel): + data: pd.DataFrame + location_id_column: str + easting_column: str + northing_column: str + ground_level_elevation_column: str + depth_to_base_column: str + + model_config = ConfigDict(arbitrary_types_allowed=True) + + +class SampleTableMapping(BaseModel): + data: pd.DataFrame + sample_id_column: str + location_id_column: str + depth_to_top_column: str + depth_to_base_column: Optional[str] = None + + model_config = ConfigDict(arbitrary_types_allowed=True) + + +class OtherTable(BaseModel): + table_name: str + data: pd.DataFrame + + model_config = ConfigDict(arbitrary_types_allowed=True) + + +class InSituTestTableMapping(OtherTable): + location_id_column: str + depth_to_top_column: Optional[str] = None + depth_to_base_column: Optional[str] = None + + @model_validator(mode="after") + def validate_at_least_one_depth_column(self): + if not (self.depth_to_top_column or self.depth_to_base_column): + raise ValueError("At least one depth column must be specified.") + return self + + +class LabTestTableMapping(OtherTable): + sample_id_column: str + location_id_column: Optional[str] = None + + +class BedrockGIMapping(BaseModel): + Project: ProjectTableMapping + Location: LocationTableMapping + InSitu: list[InSituTestTableMapping] + Sample: Union[SampleTableMapping, None] = None + Lab: list[LabTestTableMapping] = [] + Other: list[OtherTable] = [] diff --git a/src/bedrock_ge/gi/schemas.py b/src/bedrock_ge/gi/schemas.py index eacbfdf..ec09137 100644 --- a/src/bedrock_ge/gi/schemas.py +++ b/src/bedrock_ge/gi/schemas.py @@ -2,21 +2,33 @@ from typing import Optional +import geopandas as gpd +import pandas as pd import pandera.pandas as pa from pandera.typing import Series -from pandera.typing.geopandas import GeoSeries +from pydantic import BaseModel, ConfigDict -class Project(pa.DataFrameModel): +class ProjectSchema(pa.DataFrameModel): project_uid: Series[str] = pa.Field( # primary_key=True, unique=True, ) - crs_wkt: Series[str] = pa.Field(description="Coordinate Reference System") - # datum: Series[str] = pa.Field(description="Datum used for measurement of the ground level elevation.") + horizontal_crs: Series[str] = pa.Field( + description="Horizontal Coordinate Reference System (CRS)." + ) + horizontal_crs_wkt: Series[str] = pa.Field( + description="Horizontal CRS in Well-known Text (WKT) format." + ) + vertical_crs: Series[str] = pa.Field( + description="Vertical Coordinate Reference System (CRS)." + ) + vertical_crs_wkt: Series[str] = pa.Field( + description="Vertical CRS in Well-known Text (WKT) format." + ) -class BaseLocation(pa.DataFrameModel): +class LocationSchema(pa.DataFrameModel): location_uid: Series[str] = pa.Field( # primary_key=True, unique=True, @@ -25,39 +37,122 @@ class BaseLocation(pa.DataFrameModel): # foreign_key="project.project_uid" ) location_source_id: Series[str] - location_type: Series[str] easting: Series[float] = pa.Field(coerce=True) northing: Series[float] = pa.Field(coerce=True) ground_level_elevation: Series[float] = pa.Field( coerce=True, description="Elevation w.r.t. a local datum. Usually the orthometric height from the geoid, i.e. mean sea level, to the ground level.", ) - depth_to_base: Series[float] + depth_to_base: Series[float] = pa.Field(coerce=True, gt=0) -class Location(BaseLocation): - elevation_at_base: Series[float] +class LonLatHeightSchema(pa.DataFrameModel): + project_uid: Series[str] = pa.Field( + # foreign_key="project.project_uid" + ) + location_uid: Series[str] = pa.Field( + # foreign_key="location.location_uid", + unique=True, + ) longitude: Series[float] latitude: Series[float] - wgs84_ground_level_height: Series[float] = pa.Field( - description="Ground level height w.r.t. the WGS84 (World Geodetic System 1984) ellipsoid.", + egm2008_ground_level_height: Series[float] = pa.Field( + description="Ground level orthometric height w.r.t. the EGM2008 (Earth Gravitational Model 2008).", nullable=True, ) - geometry: GeoSeries -class BaseInSitu(pa.DataFrameModel): +class InSituTestSchema(pa.DataFrameModel): project_uid: Series[str] = pa.Field( # foreign_key="project.project_uid" ) location_uid: Series[str] = pa.Field( # foreign_key="location.location_uid" ) - depth_to_top: Series[float] = pa.Field(coerce=True) - depth_to_base: Optional[Series[float]] = pa.Field(coerce=True, nullable=True) - - -class BaseSample(BaseInSitu): + depth_to_top: Optional[Series[float]] = pa.Field(nullable=True, coerce=True, ge=0) + depth_to_base: Optional[Series[float]] = pa.Field(nullable=True, coerce=True, gt=0) + + # https://pandera.readthedocs.io/en/stable/dataframe_models.html#dataframe-checks + # Check depth column completeness such that either shapely.Point's or + # shapely.LineString's can be created. + @pa.dataframe_check + def depth_column_completeness(cls, df: pd.DataFrame) -> pd.Series: + has_top = "depth_to_top" in df.columns + has_base = "depth_to_base" in df.columns + + # If neither column exists, this check should fail + if not has_top and not has_base: + return pd.Series([False] * len(df), index=df.index) + + # If only one column exists, check that it's all non-null + if has_top and not has_base: + return df["depth_to_top"].notna() + if has_base and not has_top: + return df["depth_to_base"].notna() + + # If both columns exist: + # Either depth_to_top or depth_to_base must be non-null => Point + # OR + # Both depth_to_top and depth_to_base must be non-null => LineString + # ! Commented out, because some In-Situ tests have a mix of + # ! Point's and LineString's, such as IPRM + # top_has_value = df["depth_to_top"].notna() + # base_has_value = df["depth_to_base"].notna() + # either_has_value = top_has_value ^ base_has_value + # both_have_values = top_has_value & base_has_value + + # if either_has_value.all(): + # return either_has_value + # elif both_have_values.all(): + # return both_have_values + # else: + # if either_has_value.sum() < both_have_values.sum(): + # return either_has_value + # else: + # return both_have_values + + # ! Incorrect check + # If both columns exist, at least one must be non-null + return ~(df["depth_to_top"].isna() & df["depth_to_base"].isna()) + + @pa.dataframe_check + def top_above_base(cls, df: pd.DataFrame) -> pd.Series: + """Check that depth_to_top <= depth_to_base when both columns are present. + + If either column is missing, this check passes (nothing to compare). + If both columns are present, the check fails if any row has + depth_to_top > depth_to_base. + + Returns: + pd.Series: pandas.Series of bools indicating successful checks. + """ + has_top = "depth_to_top" in df.columns + has_base = "depth_to_base" in df.columns + + # If either column is missing, this check passes (nothing to compare) + if not has_top or not has_base: + return pd.Series([True] * len(df), index=df.index) + + # Only compare when both values are non-null + mask = df["depth_to_top"].notna() & df["depth_to_base"].notna() + # Use where() to conditionally apply the comparison + result = (~mask) | (df["depth_to_top"] <= df["depth_to_base"]) + + # Debug: Show failing cases + failing_mask = mask & ~result + if failing_mask.any(): + print("🚨 ERROR: depth_to_top > depth_to_base:") + print( + df.loc[ + failing_mask, + ["location_uid", "depth_to_top", "depth_to_base", df.columns[5]], + ] + ) + + return result + + +class SampleSchema(InSituTestSchema): sample_uid: Series[str] = pa.Field( # primary_key=True, unique=True, @@ -65,19 +160,7 @@ class BaseSample(BaseInSitu): sample_source_id: Series[str] -class Sample(BaseSample): - elevation_at_top: Series[float] - elevation_at_base: Optional[Series[float]] = pa.Field(nullable=True) - geometry: GeoSeries - - -class InSitu(BaseInSitu): - elevation_at_top: Series[float] - elevation_at_base: Optional[Series[float]] = pa.Field(nullable=True) - geometry: GeoSeries - - -class BaseLab(pa.DataFrameModel): +class LabTestSchema(pa.DataFrameModel): project_uid: Series[str] = pa.Field( # foreign_key="project.project_uid" ) @@ -89,7 +172,24 @@ class BaseLab(pa.DataFrameModel): ) -class Lab(BaseLab): - geometry: GeoSeries = pa.Field( - description="GIS geometry of the sample on which this lab test was performed." - ) +class BedrockGIDatabase(BaseModel): + Project: pd.DataFrame + Location: pd.DataFrame + InSituTests: dict[str, pd.DataFrame] + Sample: pd.DataFrame | None = None + LabTests: dict[str, pd.DataFrame] = {} + Other: dict[str, pd.DataFrame] = {} + + model_config = ConfigDict(arbitrary_types_allowed=True) + + +class BedrockGIGeospatialDatabase(BaseModel): + Project: pd.DataFrame + Location: gpd.GeoDataFrame + LonLatHeight: gpd.GeoDataFrame + InSituTests: dict[str, gpd.GeoDataFrame] + Sample: gpd.GeoDataFrame | None = None + LabTests: dict[str, pd.DataFrame] = {} + Other: dict[str, pd.DataFrame] = {} + + model_config = ConfigDict(arbitrary_types_allowed=True) diff --git a/src/bedrock_ge/gi/validate.py b/src/bedrock_ge/gi/validate.py index bb1da99..76ed0ba 100644 --- a/src/bedrock_ge/gi/validate.py +++ b/src/bedrock_ge/gi/validate.py @@ -1,151 +1,88 @@ -from typing import Dict, Union - import geopandas as gpd # type: ignore import pandas as pd from bedrock_ge.gi.schemas import ( - BaseInSitu, - BaseLocation, - BaseSample, - InSitu, - Location, - Project, - Sample, + BedrockGIDatabase, + BedrockGIGeospatialDatabase, ) -# TODO: rename to check_brgi_geodb -# TODO: make this check actually work... -def check_brgi_database(brgi_db: Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]]): - """Validates the structure and relationships of a 'Bedrock Ground Investigation' (BRGI) database (which is a dictionary of DataFrames). +def check_brgi_geodb( + brgi_geodb: BedrockGIGeospatialDatabase, +): + """Validates the structure and relationships of a 'Bedrock Ground Investigation' (BrGI) geospatial database. - This function checks that all tables in the BRGI database conform to their respective schemas + This function checks that all tables in the BrGI geospatialdatabase conform to their respective schemas and that all foreign key relationships are properly maintained. It validates the following tables: - Project - Location + - LonLatHeight + - All In-Situ test tables - Sample - - InSitu_TESTX - - Lab_TESTY (not yet implemented) + - All Lab test tables Args: - brgi_db (Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]]): A dictionary - containing the BRGI database tables, where keys are table names and - values are the corresponding data tables (DataFrame or GeoDataFrame). + brgi_geodb (BedrockGIGeospatialDatabase): Bedrock GI geospatial database object. Returns: is_valid (bool): True if all tables are valid and relationships are properly maintained. Example: ```python - brgi_db = { - "Project": project_df, - "Location": location_gdf, - "Sample": sample_gdf, - "InSitu_ISPT": in_situ_ispt_gdf, - } - check_brgi_database(brgi_db) + brgi_geodb = BedrockGIGeospatialDatabase( + Project=project_df, + Location=location_geodf, + LonLatHeight=lon_lat_height_geodf, + InSituTests={"ISPT": ispt_geodf}, + Sample=sample_geodf, + LabTests={"LLPL": llpl_df}, + ) + check_brgi_geodb(brgi_db) ``` """ - for table_name, table in brgi_db.items(): - if table_name == "Project": - Project.validate(table) - print("'Project' table aligns with Bedrock's 'Project' table schema.") - elif table_name == "Location": - Location.validate(table) - check_foreign_key("project_uid", brgi_db["Project"], table) - print("'Location' table aligns with Bedrock's 'Location' table schema.") - elif table_name == "Sample": - Sample.validate(table) - check_foreign_key("project_uid", brgi_db["Project"], table) - check_foreign_key("location_uid", brgi_db["Location"], table) - print("'Sample' table aligns with Bedrock's 'Sample' table schema.") - # ! JG is pretty sure that this doesn't work - # ! The line below should be: - # ! elif table_name.startswith("InSitu_"): - elif table_name == "InSitu": - InSitu.validate(table) - check_foreign_key("project_uid", brgi_db["Project"], table) - check_foreign_key("location_uid", brgi_db["Location"], table) - print( - f"'{table_name}' table aligns with Bedrock's table schema for In-Situ measurements." - ) - elif table_name.startswith("Lab_"): - print( - "🚨 !NOT IMPLEMENTED! We haven't come across Lab data yet. !NOT IMPLEMENTED!" - ) - + # TODO: implement this return True -# TODO: rename to check_brgi_db -def check_no_gis_brgi_database( - brgi_db: Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]], +def check_brgi_db( + brgi_db: BedrockGIDatabase, ): - """Validates the structure and relationships of a 'Bedrock Ground Investigation' (BGI) database without GIS geometry. + """Validates the structure and relationships of a 'Bedrock Ground Investigation' (BrGI) database. - This function performs the same validation as `check_brgi_database` but uses schemas - that don't require GIS geometry. It validates the following tables: - - Project (never has GIS geometry) - - Location (without GIS geometry) - - Sample (without GIS geometry) - - InSitu_TESTX (without GIS geometry) - - Lab_TESTY (not yet implemented) + This function performs the same validation as `check_brgi_geodb`, but uses schemas + that don't require geospatial geometry. It validates the following tables: + - Project (never has geospatial geometry) + - Location (without geospatial geometry) + - All In-Situ test tables (without geospatial geometry) + - Sample (without geospatial geometry) + - All Lab test tables (never has geospatial geometry) Args: - brgi_db (Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]]): A dictionary - containing the Bedrock GI database tables, where keys are table names - and values are the corresponding data tables (DataFrame or GeoDataFrame). + brgi_db (BedrockGIDatabase): A Bedrock GI database object. Returns: bool: True if all tables are valid and relationships are properly maintained. Example: ```python - brgi_db = { - "Project": projects_df, - "Location": locations_df, - "Sample": samples_df, - "InSitu_measurements": insitu_df, - } - check_no_gis_brgi_database(brgi_db) + brgi_db = BedrockGIDatabase( + Project=project_df, + Location=location_df, + InSituTests={"ISPT": ispt_df}, + Sample=sample_df, + LabTests={"LLPL": llpl_df}, + ) + check_brgi_db(brgi_db) ``` """ - for table_name, table in brgi_db.items(): - if table_name == "Project": - Project.validate(table) - print("'Project' table aligns with Bedrock's 'Project' table schema.") - elif table_name == "Location": - BaseLocation.validate(table) - check_foreign_key("project_uid", brgi_db["Project"], table) - print( - "'Location' table aligns with Bedrock's 'Location' table schema without GIS geometry." - ) - elif table_name == "Sample": - BaseSample.validate(table) - check_foreign_key("project_uid", brgi_db["Project"], table) - check_foreign_key("location_uid", brgi_db["Location"], table) - print( - "'Sample' table aligns with Bedrock's 'Sample' table schema without GIS geometry." - ) - elif table_name.startswith("InSitu_"): - BaseInSitu.validate(table) - check_foreign_key("project_uid", brgi_db["Project"], table) - check_foreign_key("location_uid", brgi_db["Location"], table) - print( - f"'{table_name}' table aligns with Bedrock's '{table_name}' table schema without GIS geometry." - ) - elif table_name.startswith("Lab_"): - print( - "🚨 !NOT IMPLEMENTED! We haven't come across Lab data yet. !NOT IMPLEMENTED!" - ) - + # TODO: implement this return True def check_foreign_key( foreign_key: str, - parent_table: Union[pd.DataFrame, gpd.GeoDataFrame], - table_with_foreign_key: Union[pd.DataFrame, gpd.GeoDataFrame], + parent_table: pd.DataFrame | gpd.GeoDataFrame, + table_with_foreign_key: pd.DataFrame | gpd.GeoDataFrame, ) -> bool: """Validates referential integrity between two tables by checking foreign key relationships. @@ -154,8 +91,8 @@ def check_foreign_key( Args: foreign_key (str): The name of the column that serves as the foreign key. - parent_table (Union[pd.DataFrame, gpd.GeoDataFrame]): The parent table containing the primary keys. - table_with_foreign_key (Union[pd.DataFrame, gpd.GeoDataFrame]): The child table containing the foreign keys. + parent_table (pd.DataFrame| gpd.GeoDataFrame): The parent table containing the primary keys. + table_with_foreign_key (pd.DataFrame| gpd.GeoDataFrame): The child table containing the foreign keys. Returns: bool: True if all foreign keys exist in the parent table. diff --git a/src/bedrock_ge/gi/write.py b/src/bedrock_ge/gi/write.py index cdebae3..d1df39a 100644 --- a/src/bedrock_ge/gi/write.py +++ b/src/bedrock_ge/gi/write.py @@ -1,13 +1,44 @@ from pathlib import Path -from typing import Dict, Union +from typing import Literal import geopandas as gpd import pandas as pd +from bedrock_ge.gi.io_utils import brgi_db_to_dfs, geodf_to_df +from bedrock_ge.gi.schemas import BedrockGIDatabase, BedrockGIGeospatialDatabase + + +# ? Should this function be made a to_file(s) method of BedrockGIDatabase? +def write_brgi_db_to_file( + brgi_db: BedrockGIDatabase | BedrockGIGeospatialDatabase, + path: str | Path, + driver: Literal["EXCEL", "GPKG"] = "GPKG", +) -> None: + """Writes a Bedrock GI (geospatial) database to a file. + + Writes a Bedrock GI (geospatial) database to a file. The file type is + determined by the `driver` argument. Possible values are "GPKG" and "EXCEL". + + Args: + brgi_db (BedrockGIDatabase | BedrockGIGeospatialDatabase): The Bedrock GI (geospatial) database. + path (str | Path): The path of the output file. + driver (str): The type of the output file. Possible values are "GPKG" and "EXCEL". + + Returns: + None + """ + dict_of_dfs = brgi_db_to_dfs(brgi_db) + if driver.upper() == "GPKG": + write_gi_db_to_gpkg(dict_of_dfs, path) + elif driver.upper() == "EXCEL": + write_gi_db_to_excel(dict_of_dfs, path) + else: + raise ValueError(f"Invalid driver: {driver}") + def write_gi_db_to_gpkg( - brgi_db: Dict[str, gpd.GeoDataFrame], - gpkg_path: Union[str, Path], + dict_of_dfs: dict[str, pd.DataFrame | gpd.GeoDataFrame], + gpkg_path: str | Path, ) -> None: """Writes a database with Bedrock Ground Investigation data to a GeoPackage file. @@ -16,32 +47,28 @@ def write_gi_db_to_gpkg( separate table named by the keys of the dictionary. Args: - brgi_db (Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]]): A dictionary where + dict_of_dfs (dict[str, pd.DataFrame | gpd.GeoDataFrame]): A dictionary where keys are brgi table names and values are pandas DataFrames or GeoDataFrames with brgi data. - gpkg_path (str): The name of the output GeoPackage file. + gpkg_path (str | Path): The name of the output GeoPackage file. Returns: None """ # Create a GeoDataFrame from the dictionary of DataFrames - for sheet_name, brgi_table in brgi_db.items(): - sanitized_table_name = sanitize_table_name(sheet_name) - - if isinstance(brgi_table, pd.DataFrame): - brgi_table = gpd.GeoDataFrame(brgi_table) + for table_name, df in dict_of_dfs.items(): + sanitized_table_name = sanitize_table_name(table_name) + if isinstance(df, pd.DataFrame): + df = gpd.GeoDataFrame(df) - if isinstance(brgi_table, gpd.GeoDataFrame): - brgi_table.to_file( - gpkg_path, driver="GPKG", layer=sanitized_table_name, overwrite=True - ) + df.to_file(gpkg_path, driver="GPKG", layer=sanitized_table_name, overwrite=True) print(f"Ground Investigation data has been written to '{gpkg_path}'.") def write_gi_db_to_excel( - gi_dfs: Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]], - excel_path: Union[str, Path], + dict_of_dfs: dict[str, pd.DataFrame | gpd.GeoDataFrame], + excel_path: str | Path, ) -> None: """Writes a database with Ground Investigation data to an Excel file. @@ -50,27 +77,27 @@ def write_gi_db_to_excel( AGS, Bedrock, or another format. Args: - gi_dfs (Dict[str, Union[pd.DataFrame, gpd.GeoDataFrame]]): A dictionary where + dict_of_dfs (dict[str, pd.DataFrame | gpd.GeoDataFrame]): A dictionary where keys are GI table names and values are DataFrames with GI data. - excel_path (Union[str, Path]): Path to the output Excel file. Can be provided as a + excel_path (str | Path): Path to the output Excel file. Can be provided as a string or Path object. Returns: None """ - # Create an Excel writer object with pd.ExcelWriter(excel_path, engine="openpyxl") as writer: - for sheet_name, df in gi_dfs.items(): - sanitized_sheet_name = sanitize_table_name(sheet_name) - if isinstance(df, pd.DataFrame) or isinstance(df, gpd.GeoDataFrame): - df.to_excel(writer, sheet_name=sanitized_sheet_name, index=False) + for sheet_name, df in dict_of_dfs.items(): + sanitized_sheet_name = sanitize_table_name(sheet_name)[:31] + if isinstance(df, gpd.GeoDataFrame): + df = geodf_to_df(df) + + df.to_excel(writer, sheet_name=sanitized_sheet_name, index=False) print(f"Ground Investigation data has been written to '{excel_path}'.") -# TODO: Make the 31 character table name length truncation a separate function. Only necessary for Excel. def sanitize_table_name(sheet_name): - """Replaces invalid characters and spaces in GI table names with underscores and truncates to 31 characters. + """Replaces invalid characters and spaces in GI table names with underscores. Makes table names consistent with SQL, GeoPackage and Excel naming conventions by replacing invalid characters and spaces with underscores. @@ -81,12 +108,8 @@ def sanitize_table_name(sheet_name): Returns: sanitized_name (str): A sanitized sheet name with invalid characters and spaces replaced. """ - # Trim to a maximum length of 31 characters - trimmed_name = sheet_name.strip()[:31] - - # Define invalid characters and replace with underscores invalid_chars = [":", "/", "\\", "?", "*", "[", "]"] - sanitized_name = trimmed_name + sanitized_name = sheet_name.strip() for char in invalid_chars: sanitized_name = sanitized_name.replace(char, "_") @@ -96,16 +119,10 @@ def sanitize_table_name(sheet_name): # Collapse multiple underscores to one sanitized_name = "_".join(filter(None, sanitized_name.split("_"))) - if trimmed_name != sanitized_name: + if sheet_name != sanitized_name: print( f"Table names shouldn't contain {invalid_chars} or spaces and shouldn't be longer than 31 characters.\n", f"Replaced '{sheet_name}' with '{sanitized_name}'.", ) - # Ensure name isn't empty after sanitization - # ! "Table1" doesn't make a lot of sense?!? It could be that there are more than 1 table without a name... - if not sanitized_name: - sanitized_name = "Table1" - print("The table name was completely invalid or empty. Replaced with 'Table1'.") - return sanitized_name diff --git a/tests/test_bedrock_ge/gi/test_ags4.py b/tests/test_bedrock_ge/gi/test_ags4.py new file mode 100644 index 0000000..00d0020 --- /dev/null +++ b/tests/test_bedrock_ge/gi/test_ags4.py @@ -0,0 +1,23 @@ +import json +from pathlib import Path + +import pandas as pd + +from bedrock_ge.gi.ags4 import ags4_to_dfs + +data_dir = Path(__file__).parent / "data" + + +def test_ags4_to_dfs(): + expected_path = data_dir / "asg4_expected.json" + sample_path = data_dir / "ags4_sample.ags" + + with open(expected_path, "r", encoding="utf-8") as file: + json_data = json.load(file) + + expected = {k: pd.DataFrame(v) for k, v in json_data.items()} + result = ags4_to_dfs(sample_path) + + assert expected.keys() == result.keys() + for group in expected.keys(): + pd.testing.assert_frame_equal(expected[group], result[group]) diff --git a/tests/test_bedrock_ge/gi/test_ags.py b/tests/test_bedrock_ge/gi/test_io_utils.py similarity index 73% rename from tests/test_bedrock_ge/gi/test_ags.py rename to tests/test_bedrock_ge/gi/test_io_utils.py index f1ab962..9abea4a 100644 --- a/tests/test_bedrock_ge/gi/test_ags.py +++ b/tests/test_bedrock_ge/gi/test_io_utils.py @@ -1,31 +1,13 @@ import io -import json -import sys from pathlib import Path -import pandas as pd import pytest -from bedrock_ge.gi.ags.read import ags4_to_dfs, detect_encoding +from bedrock_ge.gi.io_utils import detect_encoding data_dir = Path(__file__).parent / "data" -def test_ags4_to_dfs(): - expected_path = data_dir / "asg4_expected.json" - sample_path = data_dir / "ags4_sample.ags" - - with open(expected_path, "r", encoding="utf-8") as file: - json_data = json.load(file) - - expected = {k: pd.DataFrame(v) for k, v in json_data.items()} - result = ags4_to_dfs(sample_path) - - assert expected.keys() == result.keys() - for group in expected.keys(): - pd.testing.assert_frame_equal(expected[group], result[group]) - - def test_detect_encoding(): ags3 = data_dir / "ags3_sample.ags" ags4 = data_dir / "ags4_sample.ags" diff --git a/tests/test_examples/test_hk_kaitak_ags3_to_brgi_geodb.py b/tests/test_examples/test_hk_kaitak_ags3_to_brgi_geodb.py index c448d79..1ac45bc 100644 --- a/tests/test_examples/test_hk_kaitak_ags3_to_brgi_geodb.py +++ b/tests/test_examples/test_hk_kaitak_ags3_to_brgi_geodb.py @@ -74,59 +74,64 @@ def test_kaitak_ags3_notebook_runs_and_creates_gpkg(examples_dir): conn_original = sqlite3.connect(temp_original_gpkg_path) conn_output = sqlite3.connect(gpkg_output_path) - tables_original = conn_original.execute( - "SELECT name FROM sqlite_master WHERE type='table';" - ).fetchall() + tables_original = set( + table[0] + for table in conn_original.execute( + "SELECT name FROM sqlite_master WHERE type='table';" + ).fetchall() + ) conn_original.close() - tables_output = conn_output.execute( - "SELECT name FROM sqlite_master WHERE type='table';" - ).fetchall() + tables_output = set( + table[0] + for table in conn_output.execute( + "SELECT name FROM sqlite_master WHERE type='table';" + ).fetchall() + ) conn_output.close() assert tables_original == tables_output, ( f"The original GeoPackage {temp_original_gpkg_path.name} and the output " f"GeoPackage {gpkg_output_path.name} have different tables:\n" - f"Original: {tables_original}\n" - f"Output: {tables_output}" + f"set(Original GPKG tables).difference(Output GPKG tables): {tables_original.difference(tables_output)}" ) important_tables = [ { "table_name": "Project", - "no_rows": 88, + "no_rows": 17, }, { "table_name": "Location", - "no_rows": 754, + "no_rows": 727, }, { "table_name": "Sample", - "no_rows": 17_774, + "no_rows": 15_873, }, { - "table_name": "InSitu_GEOL", - "no_rows": 7_764, + "table_name": "GEOL", + "no_rows": 7_238, }, { - "table_name": "InSitu_ISPT", - "no_rows": 3_986, + "table_name": "ISPT", + "no_rows": 3_544, }, { - "table_name": "InSitu_WETH", - "no_rows": 3_928, + "table_name": "WETH", + "no_rows": 3_370, }, ] for table in important_tables: - gdf_output = gpd.read_file(gpkg_output_path, layer=table["table_name"]) - assert len(gdf_output) == table["no_rows"], ( + geodf_output = gpd.read_file(gpkg_output_path, layer=table["table_name"]) + assert len(geodf_output) == table["no_rows"], ( f"The output GeoPackage {gpkg_output_path.name} table {table['table_name']} " - f"has {len(gdf_output)} rows instead of {table['no_rows']}." + f"has {len(geodf_output)} rows instead of {table['no_rows']}." ) - gdf_original = gpd.read_file( + geodf_original = gpd.read_file( temp_original_gpkg_path, layer=table["table_name"] ) pd.testing.assert_frame_equal( - gdf_original, gdf_output, check_exact=False, rtol=1e-5 + geodf_original, geodf_output, check_exact=False, rtol=1e-5 ) # It's also possible to assert that GIS geometries are not exactly equal. # However, when testing the equality of GeoDataFrames with pandas, the GIS @@ -134,7 +139,7 @@ def test_kaitak_ags3_notebook_runs_and_creates_gpkg(examples_dir): # WKT string and compared as strings. Therefore, if a less precise comparison # of GIS geometries is necessary, the assertion above needs changing too. # gpd.testing.assert_geoseries_equal( - # gdf_original, gdf_output, check_less_precise=False + # geodf_original, geodf_output, check_less_precise=False # ) # Remove the newly generated kaitak_gi.gpkg diff --git a/uv.lock b/uv.lock index 39286a2..734af87 100644 --- a/uv.lock +++ b/uv.lock @@ -1,11 +1,10 @@ version = 1 revision = 2 -requires-python = ">=3.9" +requires-python = ">=3.10" resolution-markers = [ "python_full_version >= '3.12'", "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version < '3.10'", + "python_full_version < '3.11'", ] [[package]] @@ -74,15 +73,14 @@ dev = [ { name = "frictionless", extra = ["excel"] }, { name = "marimo", extra = ["recommended"] }, { name = "mypy" }, - { name = "pandas-stubs", version = "2.2.2.240807", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "pandas-stubs", version = "2.2.3.250308", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pandas-stubs" }, ] tests = [ { name = "folium" }, - { name = "mapclassify" }, + { name = "mapclassify", version = "2.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "mapclassify", version = "2.9.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "marimo" }, - { name = "matplotlib", version = "3.9.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "matplotlib", version = "3.10.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "matplotlib" }, { name = "pytest" }, ] @@ -124,11 +122,11 @@ wheels = [ [[package]] name = "certifi" -version = "2025.4.26" +version = "2025.6.15" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload_time = "2025-04-26T02:12:29.51Z" } +sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload_time = "2025-06-15T02:45:51.329Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload_time = "2025-04-26T02:12:27.662Z" }, + { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload_time = "2025-06-15T02:45:49.977Z" }, ] [[package]] @@ -198,48 +196,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload_time = "2025-05-02T08:33:15.458Z" }, { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload_time = "2025-05-02T08:33:17.06Z" }, { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload_time = "2025-05-02T08:33:18.753Z" }, - { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671, upload_time = "2025-05-02T08:34:12.696Z" }, - { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744, upload_time = "2025-05-02T08:34:14.665Z" }, - { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993, upload_time = "2025-05-02T08:34:17.134Z" }, - { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382, upload_time = "2025-05-02T08:34:19.081Z" }, - { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536, upload_time = "2025-05-02T08:34:21.073Z" }, - { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349, upload_time = "2025-05-02T08:34:23.193Z" }, - { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365, upload_time = "2025-05-02T08:34:25.187Z" }, - { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499, upload_time = "2025-05-02T08:34:27.359Z" }, - { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735, upload_time = "2025-05-02T08:34:29.798Z" }, - { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786, upload_time = "2025-05-02T08:34:31.858Z" }, - { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203, upload_time = "2025-05-02T08:34:33.88Z" }, - { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436, upload_time = "2025-05-02T08:34:35.907Z" }, - { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772, upload_time = "2025-05-02T08:34:37.935Z" }, { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload_time = "2025-05-02T08:34:40.053Z" }, ] -[[package]] -name = "click" -version = "8.1.8" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload_time = "2024-12-21T18:38:44.339Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload_time = "2024-12-21T18:38:41.666Z" }, -] - [[package]] name = "click" version = "8.2.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload_time = "2025-05-20T23:19:49.832Z" } wheels = [ @@ -255,95 +220,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload_time = "2022-10-25T02:36:20.889Z" }, ] -[[package]] -name = "contourpy" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload_time = "2024-08-27T21:00:03.328Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/e0/be8dcc796cfdd96708933e0e2da99ba4bb8f9b2caa9d560a50f3f09a65f3/contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7", size = 265366, upload_time = "2024-08-27T20:50:09.947Z" }, - { url = "https://files.pythonhosted.org/packages/50/d6/c953b400219443535d412fcbbc42e7a5e823291236bc0bb88936e3cc9317/contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42", size = 249226, upload_time = "2024-08-27T20:50:16.1Z" }, - { url = "https://files.pythonhosted.org/packages/6f/b4/6fffdf213ffccc28483c524b9dad46bb78332851133b36ad354b856ddc7c/contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7", size = 308460, upload_time = "2024-08-27T20:50:22.536Z" }, - { url = "https://files.pythonhosted.org/packages/cf/6c/118fc917b4050f0afe07179a6dcbe4f3f4ec69b94f36c9e128c4af480fb8/contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab", size = 347623, upload_time = "2024-08-27T20:50:28.806Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a4/30ff110a81bfe3abf7b9673284d21ddce8cc1278f6f77393c91199da4c90/contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589", size = 317761, upload_time = "2024-08-27T20:50:35.126Z" }, - { url = "https://files.pythonhosted.org/packages/99/e6/d11966962b1aa515f5586d3907ad019f4b812c04e4546cc19ebf62b5178e/contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41", size = 322015, upload_time = "2024-08-27T20:50:40.318Z" }, - { url = "https://files.pythonhosted.org/packages/4d/e3/182383743751d22b7b59c3c753277b6aee3637049197624f333dac5b4c80/contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d", size = 1262672, upload_time = "2024-08-27T20:50:55.643Z" }, - { url = "https://files.pythonhosted.org/packages/78/53/974400c815b2e605f252c8fb9297e2204347d1755a5374354ee77b1ea259/contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223", size = 1321688, upload_time = "2024-08-27T20:51:11.293Z" }, - { url = "https://files.pythonhosted.org/packages/52/29/99f849faed5593b2926a68a31882af98afbeac39c7fdf7de491d9c85ec6a/contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f", size = 171145, upload_time = "2024-08-27T20:51:15.2Z" }, - { url = "https://files.pythonhosted.org/packages/a9/97/3f89bba79ff6ff2b07a3cbc40aa693c360d5efa90d66e914f0ff03b95ec7/contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b", size = 216019, upload_time = "2024-08-27T20:51:19.365Z" }, - { url = "https://files.pythonhosted.org/packages/b3/1f/9375917786cb39270b0ee6634536c0e22abf225825602688990d8f5c6c19/contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad", size = 266356, upload_time = "2024-08-27T20:51:24.146Z" }, - { url = "https://files.pythonhosted.org/packages/05/46/9256dd162ea52790c127cb58cfc3b9e3413a6e3478917d1f811d420772ec/contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49", size = 250915, upload_time = "2024-08-27T20:51:28.683Z" }, - { url = "https://files.pythonhosted.org/packages/e1/5d/3056c167fa4486900dfbd7e26a2fdc2338dc58eee36d490a0ed3ddda5ded/contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66", size = 310443, upload_time = "2024-08-27T20:51:33.675Z" }, - { url = "https://files.pythonhosted.org/packages/ca/c2/1a612e475492e07f11c8e267ea5ec1ce0d89971be496c195e27afa97e14a/contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081", size = 348548, upload_time = "2024-08-27T20:51:39.322Z" }, - { url = "https://files.pythonhosted.org/packages/45/cf/2c2fc6bb5874158277b4faf136847f0689e1b1a1f640a36d76d52e78907c/contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1", size = 319118, upload_time = "2024-08-27T20:51:44.717Z" }, - { url = "https://files.pythonhosted.org/packages/03/33/003065374f38894cdf1040cef474ad0546368eea7e3a51d48b8a423961f8/contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d", size = 323162, upload_time = "2024-08-27T20:51:49.683Z" }, - { url = "https://files.pythonhosted.org/packages/42/80/e637326e85e4105a802e42959f56cff2cd39a6b5ef68d5d9aee3ea5f0e4c/contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c", size = 1265396, upload_time = "2024-08-27T20:52:04.926Z" }, - { url = "https://files.pythonhosted.org/packages/7c/3b/8cbd6416ca1bbc0202b50f9c13b2e0b922b64be888f9d9ee88e6cfabfb51/contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb", size = 1324297, upload_time = "2024-08-27T20:52:21.843Z" }, - { url = "https://files.pythonhosted.org/packages/4d/2c/021a7afaa52fe891f25535506cc861c30c3c4e5a1c1ce94215e04b293e72/contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c", size = 171808, upload_time = "2024-08-27T20:52:25.163Z" }, - { url = "https://files.pythonhosted.org/packages/8d/2f/804f02ff30a7fae21f98198828d0857439ec4c91a96e20cf2d6c49372966/contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67", size = 217181, upload_time = "2024-08-27T20:52:29.13Z" }, - { url = "https://files.pythonhosted.org/packages/c9/92/8e0bbfe6b70c0e2d3d81272b58c98ac69ff1a4329f18c73bd64824d8b12e/contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f", size = 267838, upload_time = "2024-08-27T20:52:33.911Z" }, - { url = "https://files.pythonhosted.org/packages/e3/04/33351c5d5108460a8ce6d512307690b023f0cfcad5899499f5c83b9d63b1/contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6", size = 251549, upload_time = "2024-08-27T20:52:39.179Z" }, - { url = "https://files.pythonhosted.org/packages/51/3d/aa0fe6ae67e3ef9f178389e4caaaa68daf2f9024092aa3c6032e3d174670/contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639", size = 303177, upload_time = "2024-08-27T20:52:44.789Z" }, - { url = "https://files.pythonhosted.org/packages/56/c3/c85a7e3e0cab635575d3b657f9535443a6f5d20fac1a1911eaa4bbe1aceb/contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c", size = 341735, upload_time = "2024-08-27T20:52:51.05Z" }, - { url = "https://files.pythonhosted.org/packages/dd/8d/20f7a211a7be966a53f474bc90b1a8202e9844b3f1ef85f3ae45a77151ee/contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06", size = 314679, upload_time = "2024-08-27T20:52:58.473Z" }, - { url = "https://files.pythonhosted.org/packages/6e/be/524e377567defac0e21a46e2a529652d165fed130a0d8a863219303cee18/contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09", size = 320549, upload_time = "2024-08-27T20:53:06.593Z" }, - { url = "https://files.pythonhosted.org/packages/0f/96/fdb2552a172942d888915f3a6663812e9bc3d359d53dafd4289a0fb462f0/contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd", size = 1263068, upload_time = "2024-08-27T20:53:23.442Z" }, - { url = "https://files.pythonhosted.org/packages/2a/25/632eab595e3140adfa92f1322bf8915f68c932bac468e89eae9974cf1c00/contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35", size = 1322833, upload_time = "2024-08-27T20:53:39.243Z" }, - { url = "https://files.pythonhosted.org/packages/73/e3/69738782e315a1d26d29d71a550dbbe3eb6c653b028b150f70c1a5f4f229/contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb", size = 172681, upload_time = "2024-08-27T20:53:43.05Z" }, - { url = "https://files.pythonhosted.org/packages/0c/89/9830ba00d88e43d15e53d64931e66b8792b46eb25e2050a88fec4a0df3d5/contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b", size = 218283, upload_time = "2024-08-27T20:53:47.232Z" }, - { url = "https://files.pythonhosted.org/packages/53/a1/d20415febfb2267af2d7f06338e82171824d08614084714fb2c1dac9901f/contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3", size = 267879, upload_time = "2024-08-27T20:53:51.597Z" }, - { url = "https://files.pythonhosted.org/packages/aa/45/5a28a3570ff6218d8bdfc291a272a20d2648104815f01f0177d103d985e1/contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7", size = 251573, upload_time = "2024-08-27T20:53:55.659Z" }, - { url = "https://files.pythonhosted.org/packages/39/1c/d3f51540108e3affa84f095c8b04f0aa833bb797bc8baa218a952a98117d/contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84", size = 303184, upload_time = "2024-08-27T20:54:00.225Z" }, - { url = "https://files.pythonhosted.org/packages/00/56/1348a44fb6c3a558c1a3a0cd23d329d604c99d81bf5a4b58c6b71aab328f/contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0", size = 340262, upload_time = "2024-08-27T20:54:05.234Z" }, - { url = "https://files.pythonhosted.org/packages/2b/23/00d665ba67e1bb666152131da07e0f24c95c3632d7722caa97fb61470eca/contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b", size = 313806, upload_time = "2024-08-27T20:54:09.889Z" }, - { url = "https://files.pythonhosted.org/packages/5a/42/3cf40f7040bb8362aea19af9a5fb7b32ce420f645dd1590edcee2c657cd5/contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da", size = 319710, upload_time = "2024-08-27T20:54:14.536Z" }, - { url = "https://files.pythonhosted.org/packages/05/32/f3bfa3fc083b25e1a7ae09197f897476ee68e7386e10404bdf9aac7391f0/contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14", size = 1264107, upload_time = "2024-08-27T20:54:29.735Z" }, - { url = "https://files.pythonhosted.org/packages/1c/1e/1019d34473a736664f2439542b890b2dc4c6245f5c0d8cdfc0ccc2cab80c/contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8", size = 1322458, upload_time = "2024-08-27T20:54:45.507Z" }, - { url = "https://files.pythonhosted.org/packages/22/85/4f8bfd83972cf8909a4d36d16b177f7b8bdd942178ea4bf877d4a380a91c/contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294", size = 172643, upload_time = "2024-08-27T20:55:52.754Z" }, - { url = "https://files.pythonhosted.org/packages/cc/4a/fb3c83c1baba64ba90443626c228ca14f19a87c51975d3b1de308dd2cf08/contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087", size = 218301, upload_time = "2024-08-27T20:55:56.509Z" }, - { url = "https://files.pythonhosted.org/packages/76/65/702f4064f397821fea0cb493f7d3bc95a5d703e20954dce7d6d39bacf378/contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8", size = 278972, upload_time = "2024-08-27T20:54:50.347Z" }, - { url = "https://files.pythonhosted.org/packages/80/85/21f5bba56dba75c10a45ec00ad3b8190dbac7fd9a8a8c46c6116c933e9cf/contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b", size = 263375, upload_time = "2024-08-27T20:54:54.909Z" }, - { url = "https://files.pythonhosted.org/packages/0a/64/084c86ab71d43149f91ab3a4054ccf18565f0a8af36abfa92b1467813ed6/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973", size = 307188, upload_time = "2024-08-27T20:55:00.184Z" }, - { url = "https://files.pythonhosted.org/packages/3d/ff/d61a4c288dc42da0084b8d9dc2aa219a850767165d7d9a9c364ff530b509/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18", size = 345644, upload_time = "2024-08-27T20:55:05.673Z" }, - { url = "https://files.pythonhosted.org/packages/ca/aa/00d2313d35ec03f188e8f0786c2fc61f589306e02fdc158233697546fd58/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8", size = 317141, upload_time = "2024-08-27T20:55:11.047Z" }, - { url = "https://files.pythonhosted.org/packages/8d/6a/b5242c8cb32d87f6abf4f5e3044ca397cb1a76712e3fa2424772e3ff495f/contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6", size = 323469, upload_time = "2024-08-27T20:55:15.914Z" }, - { url = "https://files.pythonhosted.org/packages/6f/a6/73e929d43028a9079aca4bde107494864d54f0d72d9db508a51ff0878593/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2", size = 1260894, upload_time = "2024-08-27T20:55:31.553Z" }, - { url = "https://files.pythonhosted.org/packages/2b/1e/1e726ba66eddf21c940821df8cf1a7d15cb165f0682d62161eaa5e93dae1/contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927", size = 1314829, upload_time = "2024-08-27T20:55:47.837Z" }, - { url = "https://files.pythonhosted.org/packages/b3/e3/b9f72758adb6ef7397327ceb8b9c39c75711affb220e4f53c745ea1d5a9a/contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8", size = 265518, upload_time = "2024-08-27T20:56:01.333Z" }, - { url = "https://files.pythonhosted.org/packages/ec/22/19f5b948367ab5260fb41d842c7a78dae645603881ea6bc39738bcfcabf6/contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c", size = 249350, upload_time = "2024-08-27T20:56:05.432Z" }, - { url = "https://files.pythonhosted.org/packages/26/76/0c7d43263dd00ae21a91a24381b7e813d286a3294d95d179ef3a7b9fb1d7/contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca", size = 309167, upload_time = "2024-08-27T20:56:10.034Z" }, - { url = "https://files.pythonhosted.org/packages/96/3b/cadff6773e89f2a5a492c1a8068e21d3fccaf1a1c1df7d65e7c8e3ef60ba/contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f", size = 348279, upload_time = "2024-08-27T20:56:15.41Z" }, - { url = "https://files.pythonhosted.org/packages/e1/86/158cc43aa549d2081a955ab11c6bdccc7a22caacc2af93186d26f5f48746/contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc", size = 318519, upload_time = "2024-08-27T20:56:21.813Z" }, - { url = "https://files.pythonhosted.org/packages/05/11/57335544a3027e9b96a05948c32e566328e3a2f84b7b99a325b7a06d2b06/contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2", size = 321922, upload_time = "2024-08-27T20:56:26.983Z" }, - { url = "https://files.pythonhosted.org/packages/0b/e3/02114f96543f4a1b694333b92a6dcd4f8eebbefcc3a5f3bbb1316634178f/contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e", size = 1258017, upload_time = "2024-08-27T20:56:42.246Z" }, - { url = "https://files.pythonhosted.org/packages/f3/3b/bfe4c81c6d5881c1c643dde6620be0b42bf8aab155976dd644595cfab95c/contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800", size = 1316773, upload_time = "2024-08-27T20:56:58.58Z" }, - { url = "https://files.pythonhosted.org/packages/f1/17/c52d2970784383cafb0bd918b6fb036d98d96bbf0bc1befb5d1e31a07a70/contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5", size = 171353, upload_time = "2024-08-27T20:57:02.718Z" }, - { url = "https://files.pythonhosted.org/packages/53/23/db9f69676308e094d3c45f20cc52e12d10d64f027541c995d89c11ad5c75/contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843", size = 211817, upload_time = "2024-08-27T20:57:06.328Z" }, - { url = "https://files.pythonhosted.org/packages/d1/09/60e486dc2b64c94ed33e58dcfb6f808192c03dfc5574c016218b9b7680dc/contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c", size = 261886, upload_time = "2024-08-27T20:57:10.863Z" }, - { url = "https://files.pythonhosted.org/packages/19/20/b57f9f7174fcd439a7789fb47d764974ab646fa34d1790551de386457a8e/contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779", size = 311008, upload_time = "2024-08-27T20:57:15.588Z" }, - { url = "https://files.pythonhosted.org/packages/74/fc/5040d42623a1845d4f17a418e590fd7a79ae8cb2bad2b2f83de63c3bdca4/contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4", size = 215690, upload_time = "2024-08-27T20:57:19.321Z" }, - { url = "https://files.pythonhosted.org/packages/2b/24/dc3dcd77ac7460ab7e9d2b01a618cb31406902e50e605a8d6091f0a8f7cc/contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0", size = 261894, upload_time = "2024-08-27T20:57:23.873Z" }, - { url = "https://files.pythonhosted.org/packages/b1/db/531642a01cfec39d1682e46b5457b07cf805e3c3c584ec27e2a6223f8f6c/contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102", size = 311099, upload_time = "2024-08-27T20:57:28.58Z" }, - { url = "https://files.pythonhosted.org/packages/38/1e/94bda024d629f254143a134eead69e21c836429a2a6ce82209a00ddcb79a/contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb", size = 215838, upload_time = "2024-08-27T20:57:32.913Z" }, -] - [[package]] name = "contourpy" version = "1.3.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload_time = "2025-04-15T17:47:53.79Z" } wheels = [ @@ -443,45 +326,38 @@ wheels = [ [[package]] name = "duckdb" -version = "1.3.0" +version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3e/82/680b108da1870e48d98464ddcf03820f983421b5bbd8dd8beff98d583db7/duckdb-1.3.0.tar.gz", hash = "sha256:09aaa4b1dca24f4d1f231e7ae66b6413e317b7e04e2753541d42df6c8113fac7", size = 11617648, upload_time = "2025-05-21T16:06:49.93Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/8f/ac97536d4ba130c9ec097c99b88ce4fa2ceb2c90471d4f0312066c1c694d/duckdb-1.3.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:fc65c1e97aa010359c43c0342ea423e6efa3cb8c8e3f133b0765451ce674e3db", size = 15495976, upload_time = "2025-05-21T16:05:09.768Z" }, - { url = "https://files.pythonhosted.org/packages/db/30/d8a740b91021056b00f6d5c6ce8136f15fbc4a738ff8a9ce0b4a3d29604d/duckdb-1.3.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:8fc91b629646679e33806342510335ccbbeaf2b823186f0ae829fd48e7a63c66", size = 32448495, upload_time = "2025-05-21T16:05:13.294Z" }, - { url = "https://files.pythonhosted.org/packages/5a/d0/75cdba51cc7f35494d8621267cd6ac8de9a649f12fa64c9a2e2b2892f55b/duckdb-1.3.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:1a69b970553fd015c557238d427ef00be3c8ed58c3bc3641aef987e33f8bf614", size = 17065641, upload_time = "2025-05-21T16:05:17.076Z" }, - { url = "https://files.pythonhosted.org/packages/fe/3e/164119d03fabf2851ef36b4cccd1763d7950aadea2466cbf0e568e7de9fe/duckdb-1.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1003e84c07b84680cee6d06e4795b6e861892474704f7972058594a52c7473cf", size = 19122626, upload_time = "2025-05-21T16:05:20.01Z" }, - { url = "https://files.pythonhosted.org/packages/09/27/a5a21c73eea6dbc207a426f13c23358712e444ba4ce9f4fa7e8cb3f73a09/duckdb-1.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:992239b54ca6f015ad0ed0d80f3492c065313c4641df0a226183b8860cb7f5b0", size = 21065450, upload_time = "2025-05-21T16:05:22.544Z" }, - { url = "https://files.pythonhosted.org/packages/f7/e4/5ac11e11fec8cef4780b3867c0bda258650444a46793827a0ab473765853/duckdb-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0ba1c5af59e8147216149b814b1970b8f7e3c240494a9688171390db3c504b29", size = 22716477, upload_time = "2025-05-21T16:05:25.039Z" }, - { url = "https://files.pythonhosted.org/packages/68/89/57c0812d9d9c899b0986a1ec1c80a91ea9056bc9a718777caae42ae3a0a2/duckdb-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:57b794ca28e22b23bd170506cb1d4704a3608e67f0fe33273db9777b69bdf26a", size = 11420756, upload_time = "2025-05-21T16:05:27.75Z" }, - { url = "https://files.pythonhosted.org/packages/48/a5/0a7dd8f256aa75e254717732905fb96858a9e54e881a5da0966b5760393a/duckdb-1.3.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:60a58b85929754abb21db1e739d2f53eaef63e6015e62ba58eae3425030e7935", size = 15497894, upload_time = "2025-05-21T16:05:29.985Z" }, - { url = "https://files.pythonhosted.org/packages/10/b9/5a2275f765f3ca6375797066bc3870bdc8dc3f4c91b84f4230709e012c50/duckdb-1.3.0-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:1d46b5a20f078b1b2284243e02a1fde7e12cbb8d205fce62e4700bcfe6a09881", size = 32453581, upload_time = "2025-05-21T16:05:33.055Z" }, - { url = "https://files.pythonhosted.org/packages/a4/f6/20da96bc7e3886cf424461a45de3f76247b7731a5f7552615bd31e73f1ac/duckdb-1.3.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:0044e5ffb2d46308099640a92f99980a44e12bb68642aa9e6b08acbf300d64a1", size = 17066778, upload_time = "2025-05-21T16:05:36.561Z" }, - { url = "https://files.pythonhosted.org/packages/43/21/ffe5aeb9d32a49d2de6d368b3fe3e53c2246eccec916375d65c45dc58339/duckdb-1.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cb813de2ca2f5e7c77392a67bdcaa174bfd69ebbfdfc983024af270c77a0447", size = 19122797, upload_time = "2025-05-21T16:05:39.16Z" }, - { url = "https://files.pythonhosted.org/packages/60/0c/111dc4a3dcdd7007ca610e41a85634fbfa258ab960a6445e02872b67ab02/duckdb-1.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7a0c993eb6df2b30b189ad747f3aea1b0b87b78ab7f80c6e7c57117b6e8dbfb0", size = 21069430, upload_time = "2025-05-21T16:05:42.589Z" }, - { url = "https://files.pythonhosted.org/packages/43/00/71c174b65f167af4d77aafa6a01445f08238e84dd679638836472f1141af/duckdb-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6728e209570d36ece66dd7249e5d6055326321137cd807f26300733283930cd4", size = 22720601, upload_time = "2025-05-21T16:05:45.601Z" }, - { url = "https://files.pythonhosted.org/packages/2c/cb/c84a617f79bedb2220ea0b0a9826b2fb1a534568c5742789ca2c0812d465/duckdb-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e652b7c8dbdb91a94fd7d543d3e115d24a25aa0791a373a852e20cb7bb21154", size = 11421756, upload_time = "2025-05-21T16:05:48.871Z" }, - { url = "https://files.pythonhosted.org/packages/e4/b8/0931871f55a10aacd1af024c8d1e5de68337032379438aba05e26e9a1132/duckdb-1.3.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:f24038fe9b83dcbaeafb1ed76ec3b3f38943c1c8d27ab464ad384db8a6658b61", size = 15516284, upload_time = "2025-05-21T16:05:51.596Z" }, - { url = "https://files.pythonhosted.org/packages/af/d5/a08f76900391ff248b18fc1d5742db4b7bcf910c4be00314ce7b3069223f/duckdb-1.3.0-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:956c85842841bef68f4a5388c6b225b933151a7c06d568390fc895fc44607913", size = 32490915, upload_time = "2025-05-21T16:05:54.731Z" }, - { url = "https://files.pythonhosted.org/packages/05/f1/9dfa45484422bd6c598e76fb2d005de48373aea66b037471b4568c1e938a/duckdb-1.3.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:efe883d822ed56fcfbb6a7b397c13f6a0d2eaeb3bc4ef4510f84fadb3dfe416d", size = 17086690, upload_time = "2025-05-21T16:05:57.51Z" }, - { url = "https://files.pythonhosted.org/packages/8e/4e/093944cbca2e4b3fe5da99c46df9f4ae293c6768f15f14a959aaa2064a50/duckdb-1.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3872a3a1b80ffba5264ea236a3754d0c41d3c7b01bdf8cdcb1c180fc1b8dc8e2", size = 19140518, upload_time = "2025-05-21T16:06:00.521Z" }, - { url = "https://files.pythonhosted.org/packages/b0/9e/b1a7c086db03f3cc85c513e70034bd515e68e25013875e5f0b40c4bf5d0a/duckdb-1.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:30bf45ad78a5a997f378863e036e917b481d18d685e5c977cd0a3faf2e31fbaf", size = 21103893, upload_time = "2025-05-21T16:06:03.643Z" }, - { url = "https://files.pythonhosted.org/packages/5e/b4/5baef852efec9480dcfb44bed5adc56f6fcee09919037cf54fbbe87ac427/duckdb-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:85cbd8e1d65df8a0780023baf5045d3033fabd154799bc9ea6d9ab5728f41eb3", size = 22753505, upload_time = "2025-05-21T16:06:06.773Z" }, - { url = "https://files.pythonhosted.org/packages/36/4f/f7ab120ecd827fdff59f14e1de9771335aa7656a29c3259fa7949de1f276/duckdb-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8754c40dac0f26d9fb0363bbb5df02f7a61ce6a6728d5efc02c3bc925d7c89c3", size = 11424449, upload_time = "2025-05-21T16:06:09.43Z" }, - { url = "https://files.pythonhosted.org/packages/32/d5/d2666a682cda7152d0f391067e0307eec3e913b3462d2b5b944a3aab4d1d/duckdb-1.3.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:176b9818d940c52ac7f31c64a98cf172d7c19d2a006017c9c4e9c06c246e36bf", size = 15516004, upload_time = "2025-05-21T16:06:11.983Z" }, - { url = "https://files.pythonhosted.org/packages/91/60/feb19a432c0b327b3d03171042acbafa688edb9a02f3034f7ae963d0f62d/duckdb-1.3.0-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:03981f7e8793f07a4a9a2ba387640e71d0a99ebcaf8693ab09f96d59e628b713", size = 32490147, upload_time = "2025-05-21T16:06:14.751Z" }, - { url = "https://files.pythonhosted.org/packages/07/f8/393beb10a24115347c8a4b75d59e6e1d49f7391722717a614bb71430673a/duckdb-1.3.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:a177d55a38a62fdf79b59a0eaa32531a1dbb443265f6d67f64992cc1e82b755c", size = 17086082, upload_time = "2025-05-21T16:06:17.511Z" }, - { url = "https://files.pythonhosted.org/packages/71/45/da77973a7da7747385e16aa88c65a7b0e634585b5f7f92a6bb423838077c/duckdb-1.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b1c30e3749823147d5578bc3f01f35d1a0433a1c768908d946056ec8d6e1757e", size = 19141643, upload_time = "2025-05-21T16:06:20.862Z" }, - { url = "https://files.pythonhosted.org/packages/db/51/adc86c800e7ecfe828e94cccc28ac727b54a886124da08e3808cf77bf1b9/duckdb-1.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5855f3a564baf22eeeab70c120b51f5a11914f1f1634f03382daeb6b1dea4c62", size = 21102444, upload_time = "2025-05-21T16:06:23.381Z" }, - { url = "https://files.pythonhosted.org/packages/71/9d/ac3a6ddcaaf9bbd5584bb471794f017498326d11f754ee28b3c0a5c7aee8/duckdb-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9b1fac15a48056f7c2739cf8800873063ba2f691e91a9b2fc167658a401ca76a", size = 22752802, upload_time = "2025-05-21T16:06:26.031Z" }, - { url = "https://files.pythonhosted.org/packages/ab/e9/f83285b0cb3729f24321a038f272490dfb76ca531b7cef832037b7bd077c/duckdb-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:fbdfc1c0b83b90f780ae74038187ee696bb56ab727a289752372d7ec42dda65b", size = 11424430, upload_time = "2025-05-21T16:06:28.878Z" }, - { url = "https://files.pythonhosted.org/packages/c6/46/c64195d03302bc6baf49278e7bc02a736253ec55538a45328f27122d3ba3/duckdb-1.3.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:5f6b5d725546ad30abc125a6813734b493fea694bc3123e991c480744573c2f1", size = 15495339, upload_time = "2025-05-21T16:06:31.588Z" }, - { url = "https://files.pythonhosted.org/packages/dc/26/fa68c65797e3b5e1321dc9930e3aebc00ebe935ad32c7087067803f606ee/duckdb-1.3.0-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:fcbcc9b956b06cf5ee94629438ecab88de89b08b5620fcda93665c222ab18cd4", size = 32447804, upload_time = "2025-05-21T16:06:34.615Z" }, - { url = "https://files.pythonhosted.org/packages/50/2a/5667f0bb4fdd7a6ebe0c277c4e554cff284675f6953ea362e333edae8923/duckdb-1.3.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:2d32f2d44105e1705d8a0fb6d6d246fd69aff82c80ad23293266244b66b69012", size = 17064747, upload_time = "2025-05-21T16:06:37.387Z" }, - { url = "https://files.pythonhosted.org/packages/fe/3a/191f127eca9063437153f80e7557ccfc60497509981ddc61ee10537ec70d/duckdb-1.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0aa7a5c0dcb780850e6da1227fb1d552af8e1a5091e02667ab6ace61ab49ce6c", size = 19106591, upload_time = "2025-05-21T16:06:39.909Z" }, - { url = "https://files.pythonhosted.org/packages/4b/22/bcff58f2d06cb06644d04265469114770660947b29ab34aa159770217d62/duckdb-1.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7cb254fd5405f3edbd7d962ba39c72e4ab90b37cb4d0e34846089796c8078419", size = 21046140, upload_time = "2025-05-21T16:06:42.439Z" }, - { url = "https://files.pythonhosted.org/packages/0a/a2/d7b8c20ec263c0e0d691630ca5be82a3123fbce3fb74d36111c819cccf98/duckdb-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a7d337b58c59fd2cd9faae531b05d940f8d92bdc2e14cb6e9a5a37675ad2742d", size = 22696582, upload_time = "2025-05-21T16:06:45.055Z" }, - { url = "https://files.pythonhosted.org/packages/c9/b8/318bd89c668de2eaf743ae6551bfe0aac9a5732e3f502adb2ac3831f9fad/duckdb-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3cea3a345755c7dbcb58403dbab8befd499c82f0d27f893a4c1d4b8cf56ec54", size = 11455341, upload_time = "2025-05-21T16:06:47.719Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/35/ab/d89a4dd14311d5a0081711bc66db3fad73f7645fa7eb3844c423d2fa0a17/duckdb-1.3.1.tar.gz", hash = "sha256:8e101990a879533b1d33f003df2eb2a3c4bc7bdf976bd7ef7c32342047935327", size = 11628075, upload_time = "2025-06-16T13:57:04.119Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/f2/e9b3fa5528ed9e586f9a9cd52c1e190963600e4d095d872af7a557d1bae4/duckdb-1.3.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:8321ecd3c6be22660ac7b48d1770781b2a9d22e3f961ad0bb9f851d4e109806c", size = 15513952, upload_time = "2025-06-16T13:55:45.697Z" }, + { url = "https://files.pythonhosted.org/packages/f4/54/c0ec22e742938e5d114ae51a9b5bf8b155d93e3a3fc323230e23ffc0cb29/duckdb-1.3.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:ccccc9dc9cb2269430fed29a2be8ff65a84d7b9e427548e02b5a8e1e1aacfa6d", size = 32480539, upload_time = "2025-06-16T13:55:48.149Z" }, + { url = "https://files.pythonhosted.org/packages/6f/76/f14a66540e4b62ca01d35d347a3a0c493ea5a516865480339061901bc538/duckdb-1.3.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:f8a1ca3bbf84275ba4e0da2bccf6d43cb277a19af6f88fb86f98c33a98cce02e", size = 17079404, upload_time = "2025-06-16T13:55:51.017Z" }, + { url = "https://files.pythonhosted.org/packages/6d/db/2abb3553463fa479b2497b63d704b2133b45773792cd1e9defdf08538047/duckdb-1.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ed9a942ba1167a51c0eb9f23c567051a51da4cbf920b3ac83fe63b010c4334c", size = 19152794, upload_time = "2025-06-16T13:55:53.225Z" }, + { url = "https://files.pythonhosted.org/packages/f4/a5/ef66e37e90a5ea122f14c9d1f3180754704fe6df3e8bd44afd88a0e0f8b7/duckdb-1.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26944ff2c09749077ee63e5fec634da431b0b8eb7dd0d30c24fa7fe89ce70b66", size = 21084453, upload_time = "2025-06-16T13:55:55.315Z" }, + { url = "https://files.pythonhosted.org/packages/5b/9d/0d72db42fd1e9e6f3981d59f7418a9ebe765bfa477bd546a91a3bbded81c/duckdb-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ac996ac099f5d15468e33a93caf078da0fdace48c8a2c9af41e7bec766602f3", size = 22733663, upload_time = "2025-06-16T13:55:57.739Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8d/ff3a3f4f8a6b0e8020f1eaa16aa4f50890596e6d7dcdf084cc1f63d79c60/duckdb-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:57a2324f8206a52f5fd2b44f34c3746bed8bcd5e98b05b298e04fafbf30e5079", size = 11300498, upload_time = "2025-06-16T13:55:59.96Z" }, + { url = "https://files.pythonhosted.org/packages/37/30/56cc16f223e080edb5aa5aca8d1e3dc7710ecff3726ba2d7354ae1a40223/duckdb-1.3.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:376193078285b243910b1239a927e271d12d9bf6358a6937d1f7af253cfef2b6", size = 15516676, upload_time = "2025-06-16T13:56:02.033Z" }, + { url = "https://files.pythonhosted.org/packages/32/b3/7556d6f947ef06be925b6703caf1151d7ec736d3fb167aa2b8ee483782b2/duckdb-1.3.1-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:d690576e8b4479b1e0c58cd8179f600f67af237ad31186fb10e867a02d4d66ff", size = 32489163, upload_time = "2025-06-16T13:56:04.542Z" }, + { url = "https://files.pythonhosted.org/packages/6f/35/2ece30329d6cc4b7c2e37e14c3c9a28300f898dd4c170caad8b824308204/duckdb-1.3.1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:833b3c0208c238aac0d9287fcaca93ea54b82deabd8d162a469bd9adb42a0453", size = 17083190, upload_time = "2025-06-16T13:56:06.699Z" }, + { url = "https://files.pythonhosted.org/packages/9d/2b/3dccb341af40f0679a769b3ca485f3aeda8997873552b68949977186b63e/duckdb-1.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8bdd53e62917298208b7182d5fd1686a4caddc573dc1a95a58ca054105b23b38", size = 19153031, upload_time = "2025-06-16T13:56:08.596Z" }, + { url = "https://files.pythonhosted.org/packages/da/47/f8c13c3318bb29e22d2b320fcbf07c27d2d3cc1acb54e2dee3478611dce2/duckdb-1.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:591c9ca1b8dc591548bf56b2f18e26ca2339d7b95613009f6ba00af855210029", size = 21086086, upload_time = "2025-06-16T13:56:10.901Z" }, + { url = "https://files.pythonhosted.org/packages/cb/a7/a1be142ccd483e2dd0ea7a37b1999bd8964ab755915952fe6f131af84543/duckdb-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18f21142546edb5f935963f8f012b6569b978f398d48709da276b245ee4f5f4d", size = 22736728, upload_time = "2025-06-16T13:56:12.948Z" }, + { url = "https://files.pythonhosted.org/packages/f1/30/9782f26236b3df9e15958a6d0f299d13ace6ce8f5327ddba13b8ea129d03/duckdb-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:59121f0a8220b72050046a816e85e7464eb78e395f64118161b1115855284f87", size = 11300684, upload_time = "2025-06-16T13:56:15.189Z" }, + { url = "https://files.pythonhosted.org/packages/2b/cf/c9a76a15195ec1566b04a23c182ce16b60d1f06c7cdfec1aa538c8e8e0ae/duckdb-1.3.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:73f389f9c713325a6994dd9e04a7fa23bd73e8387883f8086946a9d3a1dd70e1", size = 15529437, upload_time = "2025-06-16T13:56:16.932Z" }, + { url = "https://files.pythonhosted.org/packages/d7/15/6cb79d988bedb19be6cfb654cd98b339cf4d06b7fc337f52c4051416b690/duckdb-1.3.1-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:87c99569274b453d8f9963e43fea74bc86901773fac945c1fe612c133a91e506", size = 32525563, upload_time = "2025-06-16T13:56:19.235Z" }, + { url = "https://files.pythonhosted.org/packages/14/7a/0acc37ec937a69a2fc325ab680cf68e7f1ed5d83b056dfade617502e40c2/duckdb-1.3.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:21da268355dfdf859b3d4db22180f7d5dd85a60517e077cb4158768cd5f0ee44", size = 17106064, upload_time = "2025-06-16T13:56:21.534Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a0/aef95020f5ada03e44eea0b23951b96cec45a85a0c42210639d5d5688603/duckdb-1.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77902954d15ba4aff92e82df700643b995c057f2d7d39af7ed226d8cceb9c2af", size = 19172380, upload_time = "2025-06-16T13:56:23.875Z" }, + { url = "https://files.pythonhosted.org/packages/9c/2a/3eae3acda60e178785835d6df85f3bf9ddab4362e9fd45d0fe4879973561/duckdb-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:67b1a3c9e2c3474991da97edfec0a89f382fef698d7f64b2d8d09006eaeeea24", size = 21123030, upload_time = "2025-06-16T13:56:26.366Z" }, + { url = "https://files.pythonhosted.org/packages/f4/79/885c0ad2434fa7b353532580435d59bb007efb629740ba4eb273fc4c882c/duckdb-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f1d076b12f0d2a7f9090ad9e4057ac41af3e4785969e5997afd44922c7b141e0", size = 22774472, upload_time = "2025-06-16T13:56:29.884Z" }, + { url = "https://files.pythonhosted.org/packages/24/02/d294613e4fccfc86f4718b2cede365a9a6313c938bf0547c78ec196a0b9c/duckdb-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:bf7d6884bfb67aef67aebb0bd2460ea1137c55b3fd8794a3530c653dbe0d4019", size = 11302743, upload_time = "2025-06-16T13:56:31.868Z" }, + { url = "https://files.pythonhosted.org/packages/d0/2e/5e1bf9f0b43bcb37dbe729d3a2c55da8b232137c15b0b63d2d51f96793b6/duckdb-1.3.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:72bbc8479c5d88e839a92c458c94c622f917ff0122853323728d6e25b0c3d4e1", size = 15529541, upload_time = "2025-06-16T13:56:34.011Z" }, + { url = "https://files.pythonhosted.org/packages/bc/ab/6b2e1efb133b2f4990710bd9a54e734a12a147eaead1102e36dd8d126494/duckdb-1.3.1-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:937de83df6bbe4bee5830ce80f568d4c0ebf3ef5eb809db3343d2161e4f6e42b", size = 32525596, upload_time = "2025-06-16T13:56:36.048Z" }, + { url = "https://files.pythonhosted.org/packages/68/9f/879f6f33a1d5b4afee9dd4082e97d9b43c21cf734c90164d10fd7303edb5/duckdb-1.3.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:21440dd37f073944badd495c299c6d085cd133633450467ec420c71897ac1d5b", size = 17106339, upload_time = "2025-06-16T13:56:38.358Z" }, + { url = "https://files.pythonhosted.org/packages/9a/06/5755f93be743ec27986f275847a85d44bb1bd6d8631492d337729fbe9145/duckdb-1.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:663610b591ea6964f140441c81b718e745704cf098c540e905b200b9079e2a5c", size = 19173540, upload_time = "2025-06-16T13:56:40.304Z" }, + { url = "https://files.pythonhosted.org/packages/90/a6/c8577b741974f106e24f8eb3efedc399be1a23cbbdcf49dd4bea5bb8aa4e/duckdb-1.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8793b5abb365bbbf64ba3065f3a37951fe04f2d4506b0e24f3f8ecd08b3af4ba", size = 21122193, upload_time = "2025-06-16T13:56:42.321Z" }, + { url = "https://files.pythonhosted.org/packages/43/10/b4576bbfa895a0ab125697fd58c0fbe54338672a9df25e7311bdf21f9e04/duckdb-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:27d775a5af405d1c228561830c8ccbe4e2832dafb4012f16c05fde1cde206dee", size = 22773434, upload_time = "2025-06-16T13:56:46.414Z" }, + { url = "https://files.pythonhosted.org/packages/94/b9/f5ae51f7331f79c184fd96456c0896de875149fdeb092084fd20433ec97c/duckdb-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:3eb045a9bf92da890d890cde2f676b3bda61b9de3b7dc46cbaaf75875b41e4b0", size = 11302770, upload_time = "2025-06-16T13:56:48.325Z" }, ] [[package]] @@ -516,68 +392,60 @@ wheels = [ [[package]] name = "folium" -version = "0.19.6" +version = "0.20.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "branca" }, { name = "jinja2" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "requests" }, { name = "xyzservices" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5d/50/3fa76b58d42dc01cc09cda2084723f9c6306b56d5cc2f04f01291da78f7e/folium-0.19.6.tar.gz", hash = "sha256:be21b1e492b09a81b949cb4c860503e683cbe91951825faf4d4ef27ab4913201", size = 108543, upload_time = "2025-05-15T18:57:34.086Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/76/84a1b1b00ce71f9c0c44af7d80f310c02e2e583591fe7d4cb03baecd0d3f/folium-0.20.0.tar.gz", hash = "sha256:a0d78b9d5a36ba7589ca9aedbd433e84e9fcab79cd6ac213adbcff922e454cb9", size = 109932, upload_time = "2025-06-16T20:22:51.803Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/42/9d1c6fe6478e14feca0d33c2a2a2d4c84de01eeb6c61cf707eda9532b4d8/folium-0.19.6-py2.py3-none-any.whl", hash = "sha256:aeab67fbc7e2cc1d2721cba5a00320f25ad885d4915c7f2654c183913a48527f", size = 112469, upload_time = "2025-05-15T18:57:32.458Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a8/5f764f333204db0390362a4356d03a43626997f26818a0e9396f1b3bd8c9/folium-0.20.0-py2.py3-none-any.whl", hash = "sha256:f0bc2a92acde20bca56367aa5c1c376c433f450608d058daebab2fc9bf8198bf", size = 113394, upload_time = "2025-06-16T20:22:50.318Z" }, ] [[package]] name = "fonttools" -version = "4.58.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9a/cf/4d037663e2a1fe30fddb655d755d76e18624be44ad467c07412c2319ab97/fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43", size = 3514522, upload_time = "2025-05-10T17:36:35.886Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/72/07/06d01b7239d6632a0984ef29ab496928531862b827cd3aa78309b205850d/fonttools-4.58.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bcaa65cddbc7d32c77bd0af0b41fdd6448bad0e84365ca79cf8923c27b21e46", size = 2731632, upload_time = "2025-05-10T17:34:55.331Z" }, - { url = "https://files.pythonhosted.org/packages/1d/c7/47d26d48d779b1b084ebc0d9ec07035167992578768237ef553a3eecc8db/fonttools-4.58.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:25590272f89e94ab5a292d518c549f3a88e6a34fa1193797b7047dfea111b048", size = 2303941, upload_time = "2025-05-10T17:34:58.624Z" }, - { url = "https://files.pythonhosted.org/packages/79/2e/ac80c0fea501f1aa93e2b22d72c97a8c0d14239582b7e8c722185a0540a7/fonttools-4.58.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:614435e9a87abe18bd7bc7ceeb8029e8f181c571317161e89fa3e6e0a4f20f5d", size = 4712776, upload_time = "2025-05-10T17:35:01.124Z" }, - { url = "https://files.pythonhosted.org/packages/f2/5c/b41f9c940dc397ecb41765654efc76e06782bfe0783c3e2affc534be181c/fonttools-4.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0154bd86d9a9e880f6e937e4d99c2139a624428dd9852072e12d7a85c79d611e", size = 4743251, upload_time = "2025-05-10T17:35:03.815Z" }, - { url = "https://files.pythonhosted.org/packages/3d/c4/0d3807d922a788b603a3fff622af53e732464b88baf0049a181a90f9b1c6/fonttools-4.58.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5b3660df0b02c9cebbf7baf66952c2fd055e43e658aceb92cc95ba19e0a5c8b6", size = 4795635, upload_time = "2025-05-10T17:35:06.134Z" }, - { url = "https://files.pythonhosted.org/packages/46/74/627bed8e2c7e641c9c572f09970b0980e5513fd29e57b394d4aee2261e30/fonttools-4.58.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c43b7f1d0b818427bb1cd20903d1168271abdcde10eb6247b1995c4e1ed63907", size = 4904720, upload_time = "2025-05-10T17:35:09.015Z" }, - { url = "https://files.pythonhosted.org/packages/f9/f2/7e5d082a98eb61fc0c3055e8a0e061a1eb9fc2d93f0661854bf6cb63c519/fonttools-4.58.0-cp310-cp310-win32.whl", hash = "sha256:5450f40c385cdfa21133245f57b9cf8ce45018a04630a98de61eed8da14b8325", size = 2188180, upload_time = "2025-05-10T17:35:11.494Z" }, - { url = "https://files.pythonhosted.org/packages/00/33/ffd914e3c3a585003d770457188c8eaf7266b7a1cceb6d234ab543a9f958/fonttools-4.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0553431696eacafee9aefe94dc3c2bf5d658fbdc7fdba5b341c588f935471c6", size = 2233120, upload_time = "2025-05-10T17:35:13.896Z" }, - { url = "https://files.pythonhosted.org/packages/76/2e/9b9bd943872a50cb182382f8f4a99af92d76e800603d5f73e4343fdce61a/fonttools-4.58.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9345b1bb994476d6034996b31891c0c728c1059c05daa59f9ab57d2a4dce0f84", size = 2751920, upload_time = "2025-05-10T17:35:16.487Z" }, - { url = "https://files.pythonhosted.org/packages/9b/8c/e8d6375da893125f610826c2e30e6d2597dfb8dad256f8ff5a54f3089fda/fonttools-4.58.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1d93119ace1e2d39ff1340deb71097932f72b21c054bd3da727a3859825e24e5", size = 2313957, upload_time = "2025-05-10T17:35:18.906Z" }, - { url = "https://files.pythonhosted.org/packages/4f/1b/a29cb00c8c20164b24f88780e298fafd0bbfb25cf8bc7b10c4b69331ad5d/fonttools-4.58.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79c9e4f01bb04f19df272ae35314eb6349fdb2e9497a163cd22a21be999694bd", size = 4913808, upload_time = "2025-05-10T17:35:21.394Z" }, - { url = "https://files.pythonhosted.org/packages/d1/ab/9b9507b65b15190cbfe1ccd3c08067d79268d8312ef20948b16d9f5aa905/fonttools-4.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62ecda1465d38248aaf9bee1c17a21cf0b16aef7d121d7d303dbb320a6fd49c2", size = 4935876, upload_time = "2025-05-10T17:35:23.849Z" }, - { url = "https://files.pythonhosted.org/packages/15/e4/1395853bc775b0ab06a1c61cf261779afda7baff3f65cf1197bbd21aa149/fonttools-4.58.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29d0499bff12a26733c05c1bfd07e68465158201624b2fba4a40b23d96c43f94", size = 4974798, upload_time = "2025-05-10T17:35:26.189Z" }, - { url = "https://files.pythonhosted.org/packages/3c/b9/0358368ef5462f4653a198207b29885bee8d5e23c870f6125450ed88e693/fonttools-4.58.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1871abdb0af582e2d96cc12d88889e3bfa796928f491ec14d34a2e58ca298c7e", size = 5093560, upload_time = "2025-05-10T17:35:28.577Z" }, - { url = "https://files.pythonhosted.org/packages/11/00/f64bc3659980c41eccf2c371e62eb15b40858f02a41a0e9c6258ef094388/fonttools-4.58.0-cp311-cp311-win32.whl", hash = "sha256:e292485d70402093eb94f6ab7669221743838b8bd4c1f45c84ca76b63338e7bf", size = 2186330, upload_time = "2025-05-10T17:35:31.733Z" }, - { url = "https://files.pythonhosted.org/packages/c8/a0/0287be13a1ec7733abf292ffbd76417cea78752d4ce10fecf92d8b1252d6/fonttools-4.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:6df3755fcf9ad70a74ad3134bd5c9738f73c9bb701a304b1c809877b11fe701c", size = 2234687, upload_time = "2025-05-10T17:35:34.015Z" }, - { url = "https://files.pythonhosted.org/packages/6a/4e/1c6b35ec7c04d739df4cf5aace4b7ec284d6af2533a65de21972e2f237d9/fonttools-4.58.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:aa8316798f982c751d71f0025b372151ea36405733b62d0d94d5e7b8dd674fa6", size = 2737502, upload_time = "2025-05-10T17:35:36.436Z" }, - { url = "https://files.pythonhosted.org/packages/fc/72/c6fcafa3c9ed2b69991ae25a1ba7a3fec8bf74928a96e8229c37faa8eda2/fonttools-4.58.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6db489511e867633b859b11aefe1b7c0d90281c5bdb903413edbb2ba77b97f1", size = 2307214, upload_time = "2025-05-10T17:35:38.939Z" }, - { url = "https://files.pythonhosted.org/packages/52/11/1015cedc9878da6d8d1758049749eef857b693e5828d477287a959c8650f/fonttools-4.58.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:107bdb2dacb1f627db3c4b77fb16d065a10fe88978d02b4fc327b9ecf8a62060", size = 4811136, upload_time = "2025-05-10T17:35:41.491Z" }, - { url = "https://files.pythonhosted.org/packages/32/b9/6a1bc1af6ec17eead5d32e87075e22d0dab001eace0b5a1542d38c6a9483/fonttools-4.58.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba7212068ab20f1128a0475f169068ba8e5b6e35a39ba1980b9f53f6ac9720ac", size = 4876598, upload_time = "2025-05-10T17:35:43.986Z" }, - { url = "https://files.pythonhosted.org/packages/d8/46/b14584c7ea65ad1609fb9632251016cda8a2cd66b15606753b9f888d3677/fonttools-4.58.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f95ea3b6a3b9962da3c82db73f46d6a6845a6c3f3f968f5293b3ac1864e771c2", size = 4872256, upload_time = "2025-05-10T17:35:46.617Z" }, - { url = "https://files.pythonhosted.org/packages/05/78/b2105a7812ca4ef9bf180cd741c82f4522316c652ce2a56f788e2eb54b62/fonttools-4.58.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:874f1225cc4ccfeac32009887f722d7f8b107ca5e867dcee067597eef9d4c80b", size = 5028710, upload_time = "2025-05-10T17:35:49.227Z" }, - { url = "https://files.pythonhosted.org/packages/8c/a9/a38c85ffd30d1f2c7a5460c8abfd1aa66e00c198df3ff0b08117f5c6fcd9/fonttools-4.58.0-cp312-cp312-win32.whl", hash = "sha256:5f3cde64ec99c43260e2e6c4fa70dfb0a5e2c1c1d27a4f4fe4618c16f6c9ff71", size = 2173593, upload_time = "2025-05-10T17:35:51.226Z" }, - { url = "https://files.pythonhosted.org/packages/66/48/29752962a74b7ed95da976b5a968bba1fe611a4a7e50b9fefa345e6e7025/fonttools-4.58.0-cp312-cp312-win_amd64.whl", hash = "sha256:2aee08e2818de45067109a207cbd1b3072939f77751ef05904d506111df5d824", size = 2223230, upload_time = "2025-05-10T17:35:53.653Z" }, - { url = "https://files.pythonhosted.org/packages/0c/d7/d77cae11c445916d767cace93ba8283b3f360197d95d7470b90a9e984e10/fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd", size = 2728320, upload_time = "2025-05-10T17:35:56.455Z" }, - { url = "https://files.pythonhosted.org/packages/77/48/7d8b3c519ef4b48081d40310262224a38785e39a8610ccb92a229a6f085d/fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324", size = 2302570, upload_time = "2025-05-10T17:35:58.794Z" }, - { url = "https://files.pythonhosted.org/packages/2c/48/156b83eb8fb7261056e448bfda1b495b90e761b28ec23cee10e3e19f1967/fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b", size = 4790066, upload_time = "2025-05-10T17:36:01.174Z" }, - { url = "https://files.pythonhosted.org/packages/60/49/aaecb1b3cea2b9b9c7cea6240d6bc8090feb5489a6fbf93cb68003be979b/fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292", size = 4861076, upload_time = "2025-05-10T17:36:03.663Z" }, - { url = "https://files.pythonhosted.org/packages/dc/c8/97cbb41bee81ea9daf6109e0f3f70a274a3c69418e5ac6b0193f5dacf506/fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0", size = 4858394, upload_time = "2025-05-10T17:36:06.087Z" }, - { url = "https://files.pythonhosted.org/packages/4d/23/c2c231457361f869a7d7374a557208e303b469d48a4a697c0fb249733ea1/fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9", size = 5002160, upload_time = "2025-05-10T17:36:08.178Z" }, - { url = "https://files.pythonhosted.org/packages/a9/e0/c2262f941a43b810c5c192db94b5d1ce8eda91bec2757f7e2416398f4072/fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c", size = 2171919, upload_time = "2025-05-10T17:36:10.644Z" }, - { url = "https://files.pythonhosted.org/packages/8f/ee/e4aa7bb4ce510ad57a808d321df1bbed1eeb6e1dfb20aaee1a5d9c076849/fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a", size = 2222972, upload_time = "2025-05-10T17:36:12.495Z" }, - { url = "https://files.pythonhosted.org/packages/33/86/e77cfccfded6e106daedf705eedc6d81a708c9ec59f59208a02a878a11cd/fonttools-4.58.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d3e6f49f24ce313fe674213314a5ff7d2839d7d143d9e2f8a6140bf93de59797", size = 2737552, upload_time = "2025-05-10T17:36:14.867Z" }, - { url = "https://files.pythonhosted.org/packages/cf/ac/020f47dc1498894cd4437f9822c562c2c6b2f41d445cc8c3868ccc5f7b63/fonttools-4.58.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d76bf18647d3aa2a4a539d947a9974e5fb3cd6300ed8d8166b63ab201830d9ed", size = 2306833, upload_time = "2025-05-10T17:36:17.192Z" }, - { url = "https://files.pythonhosted.org/packages/ea/92/58625bb30840fe8c0364f82836216793a8bb4b38ee317ce667e26e2d17fe/fonttools-4.58.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47ed13683b02be5c5db296dc80fd42cc65e1a694c32b2e482714d50c05f8a00", size = 4696309, upload_time = "2025-05-10T17:36:19.6Z" }, - { url = "https://files.pythonhosted.org/packages/aa/de/9d0200eeb5dc186691871e5429ccef5fea52d612ffba96f5f4a1bd400498/fonttools-4.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d63b51485b2da4e74ca5ad8bec084400300a8e7a30799df14d915fd9441e2824", size = 4726096, upload_time = "2025-05-10T17:36:21.74Z" }, - { url = "https://files.pythonhosted.org/packages/af/37/3930476d05b39e26509376878447aace1ca84e68a3bdf0e96943df0cd736/fonttools-4.58.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:187db44b7e1d4e042c23265d7cf7599d280af2e8de091e46e89e7ec4c0729ccf", size = 4778868, upload_time = "2025-05-10T17:36:24.143Z" }, - { url = "https://files.pythonhosted.org/packages/99/5a/eb318d20c77a2ec3fcd52cc54b0fa422bcb00c4d2a08be341bf170c6a367/fonttools-4.58.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fde9b32f5964e2a3a2a58e5269673705eb636f604e3cdde24afb1838bf0a501a", size = 4889938, upload_time = "2025-05-10T17:36:26.232Z" }, - { url = "https://files.pythonhosted.org/packages/8f/83/cff77c089e695372d3c77133eeb523af7ef37c12647a45e52502bc291dc1/fonttools-4.58.0-cp39-cp39-win32.whl", hash = "sha256:ac2037a74b55d6fb2917460d0d6e1d88d35e26a62c70584271d3388f9ea179e1", size = 1466943, upload_time = "2025-05-10T17:36:28.486Z" }, - { url = "https://files.pythonhosted.org/packages/28/73/195b62a675594eb106b096f115e4115503153591deafd49a63bef6254730/fonttools-4.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:72b42acf0e5d3d61423ee22a1483647acdaf18378bb13970bf583142a2f4dcb8", size = 1511848, upload_time = "2025-05-10T17:36:30.518Z" }, - { url = "https://files.pythonhosted.org/packages/9b/1f/4417c26e26a1feab85a27e927f7a73d8aabc84544be8ba108ce4aa90eb1e/fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7", size = 1111440, upload_time = "2025-05-10T17:36:33.607Z" }, +version = "4.58.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2e/5a/1124b2c8cb3a8015faf552e92714040bcdbc145dfa29928891b02d147a18/fonttools-4.58.4.tar.gz", hash = "sha256:928a8009b9884ed3aae17724b960987575155ca23c6f0b8146e400cc9e0d44ba", size = 3525026, upload_time = "2025-06-13T17:25:15.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/86/d22c24caa574449b56e994ed1a96d23b23af85557fb62a92df96439d3f6c/fonttools-4.58.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:834542f13fee7625ad753b2db035edb674b07522fcbdd0ed9e9a9e2a1034467f", size = 2748349, upload_time = "2025-06-13T17:23:49.179Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b8/384aca93856def00e7de30341f1e27f439694857d82c35d74a809c705ed0/fonttools-4.58.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2e6c61ce330142525296170cd65666e46121fc0d44383cbbcfa39cf8f58383df", size = 2318565, upload_time = "2025-06-13T17:23:52.144Z" }, + { url = "https://files.pythonhosted.org/packages/1a/f2/273edfdc8d9db89ecfbbf659bd894f7e07b6d53448b19837a4bdba148d17/fonttools-4.58.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9c75f8faa29579c0fbf29b56ae6a3660c6c025f3b671803cb6a9caa7e4e3a98", size = 4838855, upload_time = "2025-06-13T17:23:54.039Z" }, + { url = "https://files.pythonhosted.org/packages/13/fa/403703548c093c30b52ab37e109b369558afa221130e67f06bef7513f28a/fonttools-4.58.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:88dedcedbd5549e35b2ea3db3de02579c27e62e51af56779c021e7b33caadd0e", size = 4767637, upload_time = "2025-06-13T17:23:56.17Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a8/3380e1e0bff6defb0f81c9abf274a5b4a0f30bc8cab4fd4e346c6f923b4c/fonttools-4.58.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ae80a895adab43586f4da1521d58fd4f4377cef322ee0cc205abcefa3a5effc3", size = 4819397, upload_time = "2025-06-13T17:23:58.263Z" }, + { url = "https://files.pythonhosted.org/packages/cd/1b/99e47eb17a8ca51d808622a4658584fa8f340857438a4e9d7ac326d4a041/fonttools-4.58.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0d3acc7f0d151da116e87a182aefb569cf0a3c8e0fd4c9cd0a7c1e7d3e7adb26", size = 4926641, upload_time = "2025-06-13T17:24:00.368Z" }, + { url = "https://files.pythonhosted.org/packages/31/75/415254408f038e35b36c8525fc31feb8561f98445688dd2267c23eafd7a2/fonttools-4.58.4-cp310-cp310-win32.whl", hash = "sha256:1244f69686008e7e8d2581d9f37eef330a73fee3843f1107993eb82c9d306577", size = 2201917, upload_time = "2025-06-13T17:24:02.587Z" }, + { url = "https://files.pythonhosted.org/packages/c5/69/f019a15ed2946317c5318e1bcc8876f8a54a313848604ad1d4cfc4c07916/fonttools-4.58.4-cp310-cp310-win_amd64.whl", hash = "sha256:2a66c0af8a01eb2b78645af60f3b787de5fe5eb1fd8348163715b80bdbfbde1f", size = 2246327, upload_time = "2025-06-13T17:24:04.087Z" }, + { url = "https://files.pythonhosted.org/packages/17/7b/cc6e9bb41bab223bd2dc70ba0b21386b85f604e27f4c3206b4205085a2ab/fonttools-4.58.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3841991c9ee2dc0562eb7f23d333d34ce81e8e27c903846f0487da21e0028eb", size = 2768901, upload_time = "2025-06-13T17:24:05.901Z" }, + { url = "https://files.pythonhosted.org/packages/3d/15/98d75df9f2b4e7605f3260359ad6e18e027c11fa549f74fce567270ac891/fonttools-4.58.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c98f91b6a9604e7ffb5ece6ea346fa617f967c2c0944228801246ed56084664", size = 2328696, upload_time = "2025-06-13T17:24:09.18Z" }, + { url = "https://files.pythonhosted.org/packages/a8/c8/dc92b80f5452c9c40164e01b3f78f04b835a00e673bd9355ca257008ff61/fonttools-4.58.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab9f891eb687ddf6a4e5f82901e00f992e18012ca97ab7acd15f13632acd14c1", size = 5018830, upload_time = "2025-06-13T17:24:11.282Z" }, + { url = "https://files.pythonhosted.org/packages/19/48/8322cf177680505d6b0b6062e204f01860cb573466a88077a9b795cb70e8/fonttools-4.58.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:891c5771e8f0094b7c0dc90eda8fc75e72930b32581418f2c285a9feedfd9a68", size = 4960922, upload_time = "2025-06-13T17:24:14.9Z" }, + { url = "https://files.pythonhosted.org/packages/14/e0/2aff149ed7eb0916de36da513d473c6fff574a7146891ce42de914899395/fonttools-4.58.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:43ba4d9646045c375d22e3473b7d82b18b31ee2ac715cd94220ffab7bc2d5c1d", size = 4997135, upload_time = "2025-06-13T17:24:16.959Z" }, + { url = "https://files.pythonhosted.org/packages/e6/6f/4d9829b29a64a2e63a121cb11ecb1b6a9524086eef3e35470949837a1692/fonttools-4.58.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33d19f16e6d2ffd6669bda574a6589941f6c99a8d5cfb9f464038244c71555de", size = 5108701, upload_time = "2025-06-13T17:24:18.849Z" }, + { url = "https://files.pythonhosted.org/packages/6f/1e/2d656ddd1b0cd0d222f44b2d008052c2689e66b702b9af1cd8903ddce319/fonttools-4.58.4-cp311-cp311-win32.whl", hash = "sha256:b59e5109b907da19dc9df1287454821a34a75f2632a491dd406e46ff432c2a24", size = 2200177, upload_time = "2025-06-13T17:24:20.823Z" }, + { url = "https://files.pythonhosted.org/packages/fb/83/ba71ad053fddf4157cb0697c8da8eff6718d059f2a22986fa5f312b49c92/fonttools-4.58.4-cp311-cp311-win_amd64.whl", hash = "sha256:3d471a5b567a0d1648f2e148c9a8bcf00d9ac76eb89e976d9976582044cc2509", size = 2247892, upload_time = "2025-06-13T17:24:22.927Z" }, + { url = "https://files.pythonhosted.org/packages/04/3c/1d1792bfe91ef46f22a3d23b4deb514c325e73c17d4f196b385b5e2faf1c/fonttools-4.58.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:462211c0f37a278494e74267a994f6be9a2023d0557aaa9ecbcbfce0f403b5a6", size = 2754082, upload_time = "2025-06-13T17:24:24.862Z" }, + { url = "https://files.pythonhosted.org/packages/2a/1f/2b261689c901a1c3bc57a6690b0b9fc21a9a93a8b0c83aae911d3149f34e/fonttools-4.58.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c7a12fb6f769165547f00fcaa8d0df9517603ae7e04b625e5acb8639809b82d", size = 2321677, upload_time = "2025-06-13T17:24:26.815Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6b/4607add1755a1e6581ae1fc0c9a640648e0d9cdd6591cc2d581c2e07b8c3/fonttools-4.58.4-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2d42c63020a922154add0a326388a60a55504629edc3274bc273cd3806b4659f", size = 4896354, upload_time = "2025-06-13T17:24:28.428Z" }, + { url = "https://files.pythonhosted.org/packages/cd/95/34b4f483643d0cb11a1f830b72c03fdd18dbd3792d77a2eb2e130a96fada/fonttools-4.58.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f2b4e6fd45edc6805f5f2c355590b092ffc7e10a945bd6a569fc66c1d2ae7aa", size = 4941633, upload_time = "2025-06-13T17:24:30.568Z" }, + { url = "https://files.pythonhosted.org/packages/81/ac/9bafbdb7694059c960de523e643fa5a61dd2f698f3f72c0ca18ae99257c7/fonttools-4.58.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f155b927f6efb1213a79334e4cb9904d1e18973376ffc17a0d7cd43d31981f1e", size = 4886170, upload_time = "2025-06-13T17:24:32.724Z" }, + { url = "https://files.pythonhosted.org/packages/ae/44/a3a3b70d5709405f7525bb7cb497b4e46151e0c02e3c8a0e40e5e9fe030b/fonttools-4.58.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e38f687d5de97c7fb7da3e58169fb5ba349e464e141f83c3c2e2beb91d317816", size = 5037851, upload_time = "2025-06-13T17:24:35.034Z" }, + { url = "https://files.pythonhosted.org/packages/21/cb/e8923d197c78969454eb876a4a55a07b59c9c4c46598f02b02411dc3b45c/fonttools-4.58.4-cp312-cp312-win32.whl", hash = "sha256:636c073b4da9db053aa683db99580cac0f7c213a953b678f69acbca3443c12cc", size = 2187428, upload_time = "2025-06-13T17:24:36.996Z" }, + { url = "https://files.pythonhosted.org/packages/46/e6/fe50183b1a0e1018e7487ee740fa8bb127b9f5075a41e20d017201e8ab14/fonttools-4.58.4-cp312-cp312-win_amd64.whl", hash = "sha256:82e8470535743409b30913ba2822e20077acf9ea70acec40b10fcf5671dceb58", size = 2236649, upload_time = "2025-06-13T17:24:38.985Z" }, + { url = "https://files.pythonhosted.org/packages/d4/4f/c05cab5fc1a4293e6bc535c6cb272607155a0517700f5418a4165b7f9ec8/fonttools-4.58.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5f4a64846495c543796fa59b90b7a7a9dff6839bd852741ab35a71994d685c6d", size = 2745197, upload_time = "2025-06-13T17:24:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d3/49211b1f96ae49308f4f78ca7664742377a6867f00f704cdb31b57e4b432/fonttools-4.58.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e80661793a5d4d7ad132a2aa1eae2e160fbdbb50831a0edf37c7c63b2ed36574", size = 2317272, upload_time = "2025-06-13T17:24:43.428Z" }, + { url = "https://files.pythonhosted.org/packages/b2/11/c9972e46a6abd752a40a46960e431c795ad1f306775fc1f9e8c3081a1274/fonttools-4.58.4-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fe5807fc64e4ba5130f1974c045a6e8d795f3b7fb6debfa511d1773290dbb76b", size = 4877184, upload_time = "2025-06-13T17:24:45.527Z" }, + { url = "https://files.pythonhosted.org/packages/ea/24/5017c01c9ef8df572cc9eaf9f12be83ad8ed722ff6dc67991d3d752956e4/fonttools-4.58.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b610b9bef841cb8f4b50472494158b1e347d15cad56eac414c722eda695a6cfd", size = 4939445, upload_time = "2025-06-13T17:24:47.647Z" }, + { url = "https://files.pythonhosted.org/packages/79/b0/538cc4d0284b5a8826b4abed93a69db52e358525d4b55c47c8cef3669767/fonttools-4.58.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2daa7f0e213c38f05f054eb5e1730bd0424aebddbeac094489ea1585807dd187", size = 4878800, upload_time = "2025-06-13T17:24:49.766Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9b/a891446b7a8250e65bffceb248508587958a94db467ffd33972723ab86c9/fonttools-4.58.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:66cccb6c0b944496b7f26450e9a66e997739c513ffaac728d24930df2fd9d35b", size = 5021259, upload_time = "2025-06-13T17:24:51.754Z" }, + { url = "https://files.pythonhosted.org/packages/17/b2/c4d2872cff3ace3ddd1388bf15b76a1d8d5313f0a61f234e9aed287e674d/fonttools-4.58.4-cp313-cp313-win32.whl", hash = "sha256:94d2aebb5ca59a5107825520fde596e344652c1f18170ef01dacbe48fa60c889", size = 2185824, upload_time = "2025-06-13T17:24:54.324Z" }, + { url = "https://files.pythonhosted.org/packages/98/57/cddf8bcc911d4f47dfca1956c1e3aeeb9f7c9b8e88b2a312fe8c22714e0b/fonttools-4.58.4-cp313-cp313-win_amd64.whl", hash = "sha256:b554bd6e80bba582fd326ddab296e563c20c64dca816d5e30489760e0c41529f", size = 2236382, upload_time = "2025-06-13T17:24:56.291Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2f/c536b5b9bb3c071e91d536a4d11f969e911dbb6b227939f4c5b0bca090df/fonttools-4.58.4-py3-none-any.whl", hash = "sha256:a10ce13a13f26cbb9f37512a4346bb437ad7e002ff6fa966a7ce7ff5ac3528bd", size = 1114660, upload_time = "2025-06-13T17:25:13.321Z" }, ] [[package]] @@ -620,84 +488,71 @@ excel = [ [[package]] name = "geopandas" -version = "1.0.1" +version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging" }, { name = "pandas" }, { name = "pyogrio" }, - { name = "pyproj", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "pyproj", version = "3.7.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "shapely", version = "2.0.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "shapely", version = "2.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pyproj" }, + { name = "shapely" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/08/2cf5d85356e45b10b8d066cf4c3ba1e9e3185423c48104eed87e8afd0455/geopandas-1.0.1.tar.gz", hash = "sha256:b8bf70a5534588205b7a56646e2082fb1de9a03599651b3d80c99ea4c2ca08ab", size = 317736, upload_time = "2024-07-02T12:26:52.928Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/ca/e62641e5391285cda854c2802e706e6686f62fc9d919ecf78ff7f8d42654/geopandas-1.1.0.tar.gz", hash = "sha256:d176b084170539044ce7554a1219a4433fa1bfba94035b5a519c8986330e429e", size = 331955, upload_time = "2025-06-01T16:54:30.854Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c4/64/7d344cfcef5efddf9cf32f59af7f855828e9d74b5f862eddf5bfd9f25323/geopandas-1.0.1-py3-none-any.whl", hash = "sha256:01e147d9420cc374d26f51fc23716ac307f32b49406e4bd8462c07e82ed1d3d6", size = 323587, upload_time = "2024-07-02T12:26:50.876Z" }, + { url = "https://files.pythonhosted.org/packages/be/82/79e02a0e5dd4aca81894842b9d6522624a40048a913c6384efb2987a4144/geopandas-1.1.0-py3-none-any.whl", hash = "sha256:b19b18bdc736ee05b237f5e9184211c452768a4c883f7d7f8421b0cbe1da5875", size = 338014, upload_time = "2025-06-01T16:54:29.239Z" }, ] [[package]] name = "greenlet" -version = "3.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/34/c1/a82edae11d46c0d83481aacaa1e578fea21d94a1ef400afd734d47ad95ad/greenlet-3.2.2.tar.gz", hash = "sha256:ad053d34421a2debba45aa3cc39acf454acbcd025b3fc1a9f8a0dee237abd485", size = 185797, upload_time = "2025-05-09T19:47:35.066Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/05/66/910217271189cc3f32f670040235f4bf026ded8ca07270667d69c06e7324/greenlet-3.2.2-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:c49e9f7c6f625507ed83a7485366b46cbe325717c60837f7244fc99ba16ba9d6", size = 267395, upload_time = "2025-05-09T14:50:45.357Z" }, - { url = "https://files.pythonhosted.org/packages/a8/36/8d812402ca21017c82880f399309afadb78a0aa300a9b45d741e4df5d954/greenlet-3.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c3cc1a3ed00ecfea8932477f729a9f616ad7347a5e55d50929efa50a86cb7be7", size = 625742, upload_time = "2025-05-09T15:23:58.293Z" }, - { url = "https://files.pythonhosted.org/packages/7b/77/66d7b59dfb7cc1102b2f880bc61cb165ee8998c9ec13c96606ba37e54c77/greenlet-3.2.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c9896249fbef2c615853b890ee854f22c671560226c9221cfd27c995db97e5c", size = 637014, upload_time = "2025-05-09T15:24:47.025Z" }, - { url = "https://files.pythonhosted.org/packages/36/a7/ff0d408f8086a0d9a5aac47fa1b33a040a9fca89bd5a3f7b54d1cd6e2793/greenlet-3.2.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7409796591d879425997a518138889d8d17e63ada7c99edc0d7a1c22007d4907", size = 632874, upload_time = "2025-05-09T15:29:20.014Z" }, - { url = "https://files.pythonhosted.org/packages/a1/75/1dc2603bf8184da9ebe69200849c53c3c1dca5b3a3d44d9f5ca06a930550/greenlet-3.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7791dcb496ec53d60c7f1c78eaa156c21f402dda38542a00afc3e20cae0f480f", size = 631652, upload_time = "2025-05-09T14:53:30.961Z" }, - { url = "https://files.pythonhosted.org/packages/7b/74/ddc8c3bd4c2c20548e5bf2b1d2e312a717d44e2eca3eadcfc207b5f5ad80/greenlet-3.2.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d8009ae46259e31bc73dc183e402f548e980c96f33a6ef58cc2e7865db012e13", size = 580619, upload_time = "2025-05-09T14:53:42.049Z" }, - { url = "https://files.pythonhosted.org/packages/7e/f2/40f26d7b3077b1c7ae7318a4de1f8ffc1d8ccbad8f1d8979bf5080250fd6/greenlet-3.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fd9fb7c941280e2c837b603850efc93c999ae58aae2b40765ed682a6907ebbc5", size = 1109809, upload_time = "2025-05-09T15:26:59.063Z" }, - { url = "https://files.pythonhosted.org/packages/c5/21/9329e8c276746b0d2318b696606753f5e7b72d478adcf4ad9a975521ea5f/greenlet-3.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:00cd814b8959b95a546e47e8d589610534cfb71f19802ea8a2ad99d95d702057", size = 1133455, upload_time = "2025-05-09T14:53:55.823Z" }, - { url = "https://files.pythonhosted.org/packages/bb/1e/0dca9619dbd736d6981f12f946a497ec21a0ea27262f563bca5729662d4d/greenlet-3.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:d0cb7d47199001de7658c213419358aa8937df767936506db0db7ce1a71f4a2f", size = 294991, upload_time = "2025-05-09T15:05:56.847Z" }, - { url = "https://files.pythonhosted.org/packages/a3/9f/a47e19261747b562ce88219e5ed8c859d42c6e01e73da6fbfa3f08a7be13/greenlet-3.2.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:dcb9cebbf3f62cb1e5afacae90761ccce0effb3adaa32339a0670fe7805d8068", size = 268635, upload_time = "2025-05-09T14:50:39.007Z" }, - { url = "https://files.pythonhosted.org/packages/11/80/a0042b91b66975f82a914d515e81c1944a3023f2ce1ed7a9b22e10b46919/greenlet-3.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf3fc9145141250907730886b031681dfcc0de1c158f3cc51c092223c0f381ce", size = 628786, upload_time = "2025-05-09T15:24:00.692Z" }, - { url = "https://files.pythonhosted.org/packages/38/a2/8336bf1e691013f72a6ebab55da04db81a11f68e82bb691f434909fa1327/greenlet-3.2.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:efcdfb9df109e8a3b475c016f60438fcd4be68cd13a365d42b35914cdab4bb2b", size = 640866, upload_time = "2025-05-09T15:24:48.153Z" }, - { url = "https://files.pythonhosted.org/packages/f8/7e/f2a3a13e424670a5d08826dab7468fa5e403e0fbe0b5f951ff1bc4425b45/greenlet-3.2.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bd139e4943547ce3a56ef4b8b1b9479f9e40bb47e72cc906f0f66b9d0d5cab3", size = 636752, upload_time = "2025-05-09T15:29:23.182Z" }, - { url = "https://files.pythonhosted.org/packages/fd/5d/ce4a03a36d956dcc29b761283f084eb4a3863401c7cb505f113f73af8774/greenlet-3.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71566302219b17ca354eb274dfd29b8da3c268e41b646f330e324e3967546a74", size = 636028, upload_time = "2025-05-09T14:53:32.854Z" }, - { url = "https://files.pythonhosted.org/packages/4b/29/b130946b57e3ceb039238413790dd3793c5e7b8e14a54968de1fe449a7cf/greenlet-3.2.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3091bc45e6b0c73f225374fefa1536cd91b1e987377b12ef5b19129b07d93ebe", size = 583869, upload_time = "2025-05-09T14:53:43.614Z" }, - { url = "https://files.pythonhosted.org/packages/ac/30/9f538dfe7f87b90ecc75e589d20cbd71635531a617a336c386d775725a8b/greenlet-3.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:44671c29da26539a5f142257eaba5110f71887c24d40df3ac87f1117df589e0e", size = 1112886, upload_time = "2025-05-09T15:27:01.304Z" }, - { url = "https://files.pythonhosted.org/packages/be/92/4b7deeb1a1e9c32c1b59fdca1cac3175731c23311ddca2ea28a8b6ada91c/greenlet-3.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c23ea227847c9dbe0b3910f5c0dd95658b607137614eb821e6cbaecd60d81cc6", size = 1138355, upload_time = "2025-05-09T14:53:58.011Z" }, - { url = "https://files.pythonhosted.org/packages/c5/eb/7551c751a2ea6498907b2fcbe31d7a54b602ba5e8eb9550a9695ca25d25c/greenlet-3.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:0a16fb934fcabfdfacf21d79e6fed81809d8cd97bc1be9d9c89f0e4567143d7b", size = 295437, upload_time = "2025-05-09T15:00:57.733Z" }, - { url = "https://files.pythonhosted.org/packages/2c/a1/88fdc6ce0df6ad361a30ed78d24c86ea32acb2b563f33e39e927b1da9ea0/greenlet-3.2.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:df4d1509efd4977e6a844ac96d8be0b9e5aa5d5c77aa27ca9f4d3f92d3fcf330", size = 270413, upload_time = "2025-05-09T14:51:32.455Z" }, - { url = "https://files.pythonhosted.org/packages/a6/2e/6c1caffd65490c68cd9bcec8cb7feb8ac7b27d38ba1fea121fdc1f2331dc/greenlet-3.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da956d534a6d1b9841f95ad0f18ace637668f680b1339ca4dcfb2c1837880a0b", size = 637242, upload_time = "2025-05-09T15:24:02.63Z" }, - { url = "https://files.pythonhosted.org/packages/98/28/088af2cedf8823b6b7ab029a5626302af4ca1037cf8b998bed3a8d3cb9e2/greenlet-3.2.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c7b15fb9b88d9ee07e076f5a683027bc3befd5bb5d25954bb633c385d8b737e", size = 651444, upload_time = "2025-05-09T15:24:49.856Z" }, - { url = "https://files.pythonhosted.org/packages/4a/9f/0116ab876bb0bc7a81eadc21c3f02cd6100dcd25a1cf2a085a130a63a26a/greenlet-3.2.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:752f0e79785e11180ebd2e726c8a88109ded3e2301d40abced2543aa5d164275", size = 646067, upload_time = "2025-05-09T15:29:24.989Z" }, - { url = "https://files.pythonhosted.org/packages/35/17/bb8f9c9580e28a94a9575da847c257953d5eb6e39ca888239183320c1c28/greenlet-3.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ae572c996ae4b5e122331e12bbb971ea49c08cc7c232d1bd43150800a2d6c65", size = 648153, upload_time = "2025-05-09T14:53:34.716Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ee/7f31b6f7021b8df6f7203b53b9cc741b939a2591dcc6d899d8042fcf66f2/greenlet-3.2.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02f5972ff02c9cf615357c17ab713737cccfd0eaf69b951084a9fd43f39833d3", size = 603865, upload_time = "2025-05-09T14:53:45.738Z" }, - { url = "https://files.pythonhosted.org/packages/b5/2d/759fa59323b521c6f223276a4fc3d3719475dc9ae4c44c2fe7fc750f8de0/greenlet-3.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4fefc7aa68b34b9224490dfda2e70ccf2131368493add64b4ef2d372955c207e", size = 1119575, upload_time = "2025-05-09T15:27:04.248Z" }, - { url = "https://files.pythonhosted.org/packages/30/05/356813470060bce0e81c3df63ab8cd1967c1ff6f5189760c1a4734d405ba/greenlet-3.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a31ead8411a027c2c4759113cf2bd473690517494f3d6e4bf67064589afcd3c5", size = 1147460, upload_time = "2025-05-09T14:54:00.315Z" }, - { url = "https://files.pythonhosted.org/packages/07/f4/b2a26a309a04fb844c7406a4501331b9400e1dd7dd64d3450472fd47d2e1/greenlet-3.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:b24c7844c0a0afc3ccbeb0b807adeefb7eff2b5599229ecedddcfeb0ef333bec", size = 296239, upload_time = "2025-05-09T14:57:17.633Z" }, - { url = "https://files.pythonhosted.org/packages/89/30/97b49779fff8601af20972a62cc4af0c497c1504dfbb3e93be218e093f21/greenlet-3.2.2-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:3ab7194ee290302ca15449f601036007873028712e92ca15fc76597a0aeb4c59", size = 269150, upload_time = "2025-05-09T14:50:30.784Z" }, - { url = "https://files.pythonhosted.org/packages/21/30/877245def4220f684bc2e01df1c2e782c164e84b32e07373992f14a2d107/greenlet-3.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dc5c43bb65ec3669452af0ab10729e8fdc17f87a1f2ad7ec65d4aaaefabf6bf", size = 637381, upload_time = "2025-05-09T15:24:12.893Z" }, - { url = "https://files.pythonhosted.org/packages/8e/16/adf937908e1f913856b5371c1d8bdaef5f58f251d714085abeea73ecc471/greenlet-3.2.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:decb0658ec19e5c1f519faa9a160c0fc85a41a7e6654b3ce1b44b939f8bf1325", size = 651427, upload_time = "2025-05-09T15:24:51.074Z" }, - { url = "https://files.pythonhosted.org/packages/ad/49/6d79f58fa695b618654adac64e56aff2eeb13344dc28259af8f505662bb1/greenlet-3.2.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6fadd183186db360b61cb34e81117a096bff91c072929cd1b529eb20dd46e6c5", size = 645795, upload_time = "2025-05-09T15:29:26.673Z" }, - { url = "https://files.pythonhosted.org/packages/5a/e6/28ed5cb929c6b2f001e96b1d0698c622976cd8f1e41fe7ebc047fa7c6dd4/greenlet-3.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1919cbdc1c53ef739c94cf2985056bcc0838c1f217b57647cbf4578576c63825", size = 648398, upload_time = "2025-05-09T14:53:36.61Z" }, - { url = "https://files.pythonhosted.org/packages/9d/70/b200194e25ae86bc57077f695b6cc47ee3118becf54130c5514456cf8dac/greenlet-3.2.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3885f85b61798f4192d544aac7b25a04ece5fe2704670b4ab73c2d2c14ab740d", size = 606795, upload_time = "2025-05-09T14:53:47.039Z" }, - { url = "https://files.pythonhosted.org/packages/f8/c8/ba1def67513a941154ed8f9477ae6e5a03f645be6b507d3930f72ed508d3/greenlet-3.2.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:85f3e248507125bf4af607a26fd6cb8578776197bd4b66e35229cdf5acf1dfbf", size = 1117976, upload_time = "2025-05-09T15:27:06.542Z" }, - { url = "https://files.pythonhosted.org/packages/c3/30/d0e88c1cfcc1b3331d63c2b54a0a3a4a950ef202fb8b92e772ca714a9221/greenlet-3.2.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1e76106b6fc55fa3d6fe1c527f95ee65e324a13b62e243f77b48317346559708", size = 1145509, upload_time = "2025-05-09T14:54:02.223Z" }, - { url = "https://files.pythonhosted.org/packages/90/2e/59d6491834b6e289051b252cf4776d16da51c7c6ca6a87ff97e3a50aa0cd/greenlet-3.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:fe46d4f8e94e637634d54477b0cfabcf93c53f29eedcbdeecaf2af32029b4421", size = 296023, upload_time = "2025-05-09T14:53:24.157Z" }, - { url = "https://files.pythonhosted.org/packages/65/66/8a73aace5a5335a1cba56d0da71b7bd93e450f17d372c5b7c5fa547557e9/greenlet-3.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba30e88607fb6990544d84caf3c706c4b48f629e18853fc6a646f82db9629418", size = 629911, upload_time = "2025-05-09T15:24:22.376Z" }, - { url = "https://files.pythonhosted.org/packages/48/08/c8b8ebac4e0c95dcc68ec99198842e7db53eda4ab3fb0a4e785690883991/greenlet-3.2.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:055916fafad3e3388d27dd68517478933a97edc2fc54ae79d3bec827de2c64c4", size = 635251, upload_time = "2025-05-09T15:24:52.205Z" }, - { url = "https://files.pythonhosted.org/packages/37/26/7db30868f73e86b9125264d2959acabea132b444b88185ba5c462cb8e571/greenlet-3.2.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2593283bf81ca37d27d110956b79e8723f9aa50c4bcdc29d3c0543d4743d2763", size = 632620, upload_time = "2025-05-09T15:29:28.051Z" }, - { url = "https://files.pythonhosted.org/packages/10/ec/718a3bd56249e729016b0b69bee4adea0dfccf6ca43d147ef3b21edbca16/greenlet-3.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89c69e9a10670eb7a66b8cef6354c24671ba241f46152dd3eed447f79c29fb5b", size = 628851, upload_time = "2025-05-09T14:53:38.472Z" }, - { url = "https://files.pythonhosted.org/packages/9b/9d/d1c79286a76bc62ccdc1387291464af16a4204ea717f24e77b0acd623b99/greenlet-3.2.2-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02a98600899ca1ca5d3a2590974c9e3ec259503b2d6ba6527605fcd74e08e207", size = 593718, upload_time = "2025-05-09T14:53:48.313Z" }, - { url = "https://files.pythonhosted.org/packages/cd/41/96ba2bf948f67b245784cd294b84e3d17933597dffd3acdb367a210d1949/greenlet-3.2.2-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:b50a8c5c162469c3209e5ec92ee4f95c8231b11db6a04db09bbe338176723bb8", size = 1105752, upload_time = "2025-05-09T15:27:08.217Z" }, - { url = "https://files.pythonhosted.org/packages/68/3b/3b97f9d33c1f2eb081759da62bd6162159db260f602f048bc2f36b4c453e/greenlet-3.2.2-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:45f9f4853fb4cc46783085261c9ec4706628f3b57de3e68bae03e8f8b3c0de51", size = 1125170, upload_time = "2025-05-09T14:54:04.082Z" }, - { url = "https://files.pythonhosted.org/packages/31/df/b7d17d66c8d0f578d2885a3d8f565e9e4725eacc9d3fdc946d0031c055c4/greenlet-3.2.2-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:9ea5231428af34226c05f927e16fc7f6fa5e39e3ad3cd24ffa48ba53a47f4240", size = 269899, upload_time = "2025-05-09T14:54:01.581Z" }, - { url = "https://files.pythonhosted.org/packages/37/3a/dbf22e1c7c1affc68ad4bc8f06619945c74a92b112ae6a401bed1f1ed63b/greenlet-3.2.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:1e4747712c4365ef6765708f948acc9c10350719ca0545e362c24ab973017370", size = 266190, upload_time = "2025-05-09T14:50:53.356Z" }, - { url = "https://files.pythonhosted.org/packages/33/b1/21fabb65b13f504e8428595c54be73b78e7a542a2bd08ed9e1c56c8fcee2/greenlet-3.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:782743700ab75716650b5238a4759f840bb2dcf7bff56917e9ffdf9f1f23ec59", size = 623904, upload_time = "2025-05-09T15:24:24.588Z" }, - { url = "https://files.pythonhosted.org/packages/ec/9e/3346e463f13b593aafc683df6a85e9495a9b0c16c54c41f7e34353adea40/greenlet-3.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:354f67445f5bed6604e493a06a9a49ad65675d3d03477d38a4db4a427e9aad0e", size = 635672, upload_time = "2025-05-09T15:24:53.737Z" }, - { url = "https://files.pythonhosted.org/packages/8e/88/6e8459e4789a276d1a18d656fd95334d21fe0609c6d6f446f88dbfd9483d/greenlet-3.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3aeca9848d08ce5eb653cf16e15bb25beeab36e53eb71cc32569f5f3afb2a3aa", size = 630975, upload_time = "2025-05-09T15:29:29.393Z" }, - { url = "https://files.pythonhosted.org/packages/ab/80/81ccf96daf166e8334c37663498dad742d61114cdf801f4872a38e8e31d5/greenlet-3.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cb8553ee954536500d88a1a2f58fcb867e45125e600e80f586ade399b3f8819", size = 630252, upload_time = "2025-05-09T14:53:42.765Z" }, - { url = "https://files.pythonhosted.org/packages/c1/61/3489e3fd3b7dc81c73368177313231a1a1b30df660a0c117830aa18e0f29/greenlet-3.2.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1592a615b598643dbfd566bac8467f06c8c8ab6e56f069e573832ed1d5d528cc", size = 579122, upload_time = "2025-05-09T14:53:49.702Z" }, - { url = "https://files.pythonhosted.org/packages/be/55/57685fe335e88f8c75d204f9967e46e5fba601f861fb80821e5fb7ab959d/greenlet-3.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1f72667cc341c95184f1c68f957cb2d4fc31eef81646e8e59358a10ce6689457", size = 1108299, upload_time = "2025-05-09T15:27:10.193Z" }, - { url = "https://files.pythonhosted.org/packages/ef/e2/3f27dd194989e8481ccac3b36932836b596d58f908106b8608f98587d9f7/greenlet-3.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a8fa80665b1a29faf76800173ff5325095f3e66a78e62999929809907aca5659", size = 1132431, upload_time = "2025-05-09T14:54:05.517Z" }, - { url = "https://files.pythonhosted.org/packages/ce/7b/803075f7b1df9165032af07d81d783b04c59e64fb28b09fd7a0e5a249adc/greenlet-3.2.2-cp39-cp39-win32.whl", hash = "sha256:6629311595e3fe7304039c67f00d145cd1d38cf723bb5b99cc987b23c1433d61", size = 277740, upload_time = "2025-05-09T15:13:47.009Z" }, - { url = "https://files.pythonhosted.org/packages/ff/a3/eb7713abfd0a079d24b775d01c6578afbcc6676d89508ab3cbebd5c836ea/greenlet-3.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:eeb27bece45c0c2a5842ac4c5a1b5c2ceaefe5711078eed4e8043159fa05c834", size = 294863, upload_time = "2025-05-09T15:09:46.366Z" }, +version = "3.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/92/bb85bd6e80148a4d2e0c59f7c0c2891029f8fd510183afc7d8d2feeed9b6/greenlet-3.2.3.tar.gz", hash = "sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365", size = 185752, upload_time = "2025-06-05T16:16:09.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/db/b4c12cff13ebac2786f4f217f06588bccd8b53d260453404ef22b121fc3a/greenlet-3.2.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:1afd685acd5597349ee6d7a88a8bec83ce13c106ac78c196ee9dde7c04fe87be", size = 268977, upload_time = "2025-06-05T16:10:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/52/61/75b4abd8147f13f70986df2801bf93735c1bd87ea780d70e3b3ecda8c165/greenlet-3.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:761917cac215c61e9dc7324b2606107b3b292a8349bdebb31503ab4de3f559ac", size = 627351, upload_time = "2025-06-05T16:38:50.685Z" }, + { url = "https://files.pythonhosted.org/packages/35/aa/6894ae299d059d26254779a5088632874b80ee8cf89a88bca00b0709d22f/greenlet-3.2.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:a433dbc54e4a37e4fff90ef34f25a8c00aed99b06856f0119dcf09fbafa16392", size = 638599, upload_time = "2025-06-05T16:41:34.057Z" }, + { url = "https://files.pythonhosted.org/packages/30/64/e01a8261d13c47f3c082519a5e9dbf9e143cc0498ed20c911d04e54d526c/greenlet-3.2.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:72e77ed69312bab0434d7292316d5afd6896192ac4327d44f3d613ecb85b037c", size = 634482, upload_time = "2025-06-05T16:48:16.26Z" }, + { url = "https://files.pythonhosted.org/packages/47/48/ff9ca8ba9772d083a4f5221f7b4f0ebe8978131a9ae0909cf202f94cd879/greenlet-3.2.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:68671180e3849b963649254a882cd544a3c75bfcd2c527346ad8bb53494444db", size = 633284, upload_time = "2025-06-05T16:13:01.599Z" }, + { url = "https://files.pythonhosted.org/packages/e9/45/626e974948713bc15775b696adb3eb0bd708bec267d6d2d5c47bb47a6119/greenlet-3.2.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49c8cfb18fb419b3d08e011228ef8a25882397f3a859b9fe1436946140b6756b", size = 582206, upload_time = "2025-06-05T16:12:48.51Z" }, + { url = "https://files.pythonhosted.org/packages/b1/8e/8b6f42c67d5df7db35b8c55c9a850ea045219741bb14416255616808c690/greenlet-3.2.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:efc6dc8a792243c31f2f5674b670b3a95d46fa1c6a912b8e310d6f542e7b0712", size = 1111412, upload_time = "2025-06-05T16:36:45.479Z" }, + { url = "https://files.pythonhosted.org/packages/05/46/ab58828217349500a7ebb81159d52ca357da747ff1797c29c6023d79d798/greenlet-3.2.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:731e154aba8e757aedd0781d4b240f1225b075b4409f1bb83b05ff410582cf00", size = 1135054, upload_time = "2025-06-05T16:12:36.478Z" }, + { url = "https://files.pythonhosted.org/packages/68/7f/d1b537be5080721c0f0089a8447d4ef72839039cdb743bdd8ffd23046e9a/greenlet-3.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:96c20252c2f792defe9a115d3287e14811036d51e78b3aaddbee23b69b216302", size = 296573, upload_time = "2025-06-05T16:34:26.521Z" }, + { url = "https://files.pythonhosted.org/packages/fc/2e/d4fcb2978f826358b673f779f78fa8a32ee37df11920dc2bb5589cbeecef/greenlet-3.2.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:784ae58bba89fa1fa5733d170d42486580cab9decda3484779f4759345b29822", size = 270219, upload_time = "2025-06-05T16:10:10.414Z" }, + { url = "https://files.pythonhosted.org/packages/16/24/929f853e0202130e4fe163bc1d05a671ce8dcd604f790e14896adac43a52/greenlet-3.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0921ac4ea42a5315d3446120ad48f90c3a6b9bb93dd9b3cf4e4d84a66e42de83", size = 630383, upload_time = "2025-06-05T16:38:51.785Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b2/0320715eb61ae70c25ceca2f1d5ae620477d246692d9cc284c13242ec31c/greenlet-3.2.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:d2971d93bb99e05f8c2c0c2f4aa9484a18d98c4c3bd3c62b65b7e6ae33dfcfaf", size = 642422, upload_time = "2025-06-05T16:41:35.259Z" }, + { url = "https://files.pythonhosted.org/packages/bd/49/445fd1a210f4747fedf77615d941444349c6a3a4a1135bba9701337cd966/greenlet-3.2.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:c667c0bf9d406b77a15c924ef3285e1e05250948001220368e039b6aa5b5034b", size = 638375, upload_time = "2025-06-05T16:48:18.235Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c8/ca19760cf6eae75fa8dc32b487e963d863b3ee04a7637da77b616703bc37/greenlet-3.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:592c12fb1165be74592f5de0d70f82bc5ba552ac44800d632214b76089945147", size = 637627, upload_time = "2025-06-05T16:13:02.858Z" }, + { url = "https://files.pythonhosted.org/packages/65/89/77acf9e3da38e9bcfca881e43b02ed467c1dedc387021fc4d9bd9928afb8/greenlet-3.2.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29e184536ba333003540790ba29829ac14bb645514fbd7e32af331e8202a62a5", size = 585502, upload_time = "2025-06-05T16:12:49.642Z" }, + { url = "https://files.pythonhosted.org/packages/97/c6/ae244d7c95b23b7130136e07a9cc5aadd60d59b5951180dc7dc7e8edaba7/greenlet-3.2.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:93c0bb79844a367782ec4f429d07589417052e621aa39a5ac1fb99c5aa308edc", size = 1114498, upload_time = "2025-06-05T16:36:46.598Z" }, + { url = "https://files.pythonhosted.org/packages/89/5f/b16dec0cbfd3070658e0d744487919740c6d45eb90946f6787689a7efbce/greenlet-3.2.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:751261fc5ad7b6705f5f76726567375bb2104a059454e0226e1eef6c756748ba", size = 1139977, upload_time = "2025-06-05T16:12:38.262Z" }, + { url = "https://files.pythonhosted.org/packages/66/77/d48fb441b5a71125bcac042fc5b1494c806ccb9a1432ecaa421e72157f77/greenlet-3.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:83a8761c75312361aa2b5b903b79da97f13f556164a7dd2d5448655425bd4c34", size = 297017, upload_time = "2025-06-05T16:25:05.225Z" }, + { url = "https://files.pythonhosted.org/packages/f3/94/ad0d435f7c48debe960c53b8f60fb41c2026b1d0fa4a99a1cb17c3461e09/greenlet-3.2.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d", size = 271992, upload_time = "2025-06-05T16:11:23.467Z" }, + { url = "https://files.pythonhosted.org/packages/93/5d/7c27cf4d003d6e77749d299c7c8f5fd50b4f251647b5c2e97e1f20da0ab5/greenlet-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b", size = 638820, upload_time = "2025-06-05T16:38:52.882Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7e/807e1e9be07a125bb4c169144937910bf59b9d2f6d931578e57f0bce0ae2/greenlet-3.2.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d", size = 653046, upload_time = "2025-06-05T16:41:36.343Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ab/158c1a4ea1068bdbc78dba5a3de57e4c7aeb4e7fa034320ea94c688bfb61/greenlet-3.2.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264", size = 647701, upload_time = "2025-06-05T16:48:19.604Z" }, + { url = "https://files.pythonhosted.org/packages/cc/0d/93729068259b550d6a0288da4ff72b86ed05626eaf1eb7c0d3466a2571de/greenlet-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688", size = 649747, upload_time = "2025-06-05T16:13:04.628Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb", size = 605461, upload_time = "2025-06-05T16:12:50.792Z" }, + { url = "https://files.pythonhosted.org/packages/98/82/d022cf25ca39cf1200650fc58c52af32c90f80479c25d1cbf57980ec3065/greenlet-3.2.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c", size = 1121190, upload_time = "2025-06-05T16:36:48.59Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e1/25297f70717abe8104c20ecf7af0a5b82d2f5a980eb1ac79f65654799f9f/greenlet-3.2.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163", size = 1149055, upload_time = "2025-06-05T16:12:40.457Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8f/8f9e56c5e82eb2c26e8cde787962e66494312dc8cb261c460e1f3a9c88bc/greenlet-3.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849", size = 297817, upload_time = "2025-06-05T16:29:49.244Z" }, + { url = "https://files.pythonhosted.org/packages/b1/cf/f5c0b23309070ae93de75c90d29300751a5aacefc0a3ed1b1d8edb28f08b/greenlet-3.2.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:500b8689aa9dd1ab26872a34084503aeddefcb438e2e7317b89b11eaea1901ad", size = 270732, upload_time = "2025-06-05T16:10:08.26Z" }, + { url = "https://files.pythonhosted.org/packages/48/ae/91a957ba60482d3fecf9be49bc3948f341d706b52ddb9d83a70d42abd498/greenlet-3.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a07d3472c2a93117af3b0136f246b2833fdc0b542d4a9799ae5f41c28323faef", size = 639033, upload_time = "2025-06-05T16:38:53.983Z" }, + { url = "https://files.pythonhosted.org/packages/6f/df/20ffa66dd5a7a7beffa6451bdb7400d66251374ab40b99981478c69a67a8/greenlet-3.2.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:8704b3768d2f51150626962f4b9a9e4a17d2e37c8a8d9867bbd9fa4eb938d3b3", size = 652999, upload_time = "2025-06-05T16:41:37.89Z" }, + { url = "https://files.pythonhosted.org/packages/51/b4/ebb2c8cb41e521f1d72bf0465f2f9a2fd803f674a88db228887e6847077e/greenlet-3.2.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:5035d77a27b7c62db6cf41cf786cfe2242644a7a337a0e155c80960598baab95", size = 647368, upload_time = "2025-06-05T16:48:21.467Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6a/1e1b5aa10dced4ae876a322155705257748108b7fd2e4fae3f2a091fe81a/greenlet-3.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2d8aa5423cd4a396792f6d4580f88bdc6efcb9205891c9d40d20f6e670992efb", size = 650037, upload_time = "2025-06-05T16:13:06.402Z" }, + { url = "https://files.pythonhosted.org/packages/26/f2/ad51331a157c7015c675702e2d5230c243695c788f8f75feba1af32b3617/greenlet-3.2.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c724620a101f8170065d7dded3f962a2aea7a7dae133a009cada42847e04a7b", size = 608402, upload_time = "2025-06-05T16:12:51.91Z" }, + { url = "https://files.pythonhosted.org/packages/26/bc/862bd2083e6b3aff23300900a956f4ea9a4059de337f5c8734346b9b34fc/greenlet-3.2.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:873abe55f134c48e1f2a6f53f7d1419192a3d1a4e873bace00499a4e45ea6af0", size = 1119577, upload_time = "2025-06-05T16:36:49.787Z" }, + { url = "https://files.pythonhosted.org/packages/86/94/1fc0cc068cfde885170e01de40a619b00eaa8f2916bf3541744730ffb4c3/greenlet-3.2.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:024571bbce5f2c1cfff08bf3fbaa43bbc7444f580ae13b0099e95d0e6e67ed36", size = 1147121, upload_time = "2025-06-05T16:12:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/27/1a/199f9587e8cb08a0658f9c30f3799244307614148ffe8b1e3aa22f324dea/greenlet-3.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5195fb1e75e592dd04ce79881c8a22becdfa3e6f500e7feb059b1e6fdd54d3e3", size = 297603, upload_time = "2025-06-05T16:20:12.651Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ca/accd7aa5280eb92b70ed9e8f7fd79dc50a2c21d8c73b9a0856f5b564e222/greenlet-3.2.3-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:3d04332dddb10b4a211b68111dabaee2e1a073663d117dc10247b5b1642bac86", size = 271479, upload_time = "2025-06-05T16:10:47.525Z" }, + { url = "https://files.pythonhosted.org/packages/55/71/01ed9895d9eb49223280ecc98a557585edfa56b3d0e965b9fa9f7f06b6d9/greenlet-3.2.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8186162dffde068a465deab08fc72c767196895c39db26ab1c17c0b77a6d8b97", size = 683952, upload_time = "2025-06-05T16:38:55.125Z" }, + { url = "https://files.pythonhosted.org/packages/ea/61/638c4bdf460c3c678a0a1ef4c200f347dff80719597e53b5edb2fb27ab54/greenlet-3.2.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f4bfbaa6096b1b7a200024784217defedf46a07c2eee1a498e94a1b5f8ec5728", size = 696917, upload_time = "2025-06-05T16:41:38.959Z" }, + { url = "https://files.pythonhosted.org/packages/22/cc/0bd1a7eb759d1f3e3cc2d1bc0f0b487ad3cc9f34d74da4b80f226fde4ec3/greenlet-3.2.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:ed6cfa9200484d234d8394c70f5492f144b20d4533f69262d530a1a082f6ee9a", size = 692443, upload_time = "2025-06-05T16:48:23.113Z" }, + { url = "https://files.pythonhosted.org/packages/67/10/b2a4b63d3f08362662e89c103f7fe28894a51ae0bc890fabf37d1d780e52/greenlet-3.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:02b0df6f63cd15012bed5401b47829cfd2e97052dc89da3cfaf2c779124eb892", size = 692995, upload_time = "2025-06-05T16:13:07.972Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c6/ad82f148a4e3ce9564056453a71529732baf5448ad53fc323e37efe34f66/greenlet-3.2.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:86c2d68e87107c1792e2e8d5399acec2487a4e993ab76c792408e59394d52141", size = 655320, upload_time = "2025-06-05T16:12:53.453Z" }, + { url = "https://files.pythonhosted.org/packages/5c/4f/aab73ecaa6b3086a4c89863d94cf26fa84cbff63f52ce9bc4342b3087a06/greenlet-3.2.3-cp314-cp314-win_amd64.whl", hash = "sha256:8c47aae8fbbfcf82cc13327ae802ba13c9c36753b67e760023fd116bc124a62a", size = 301236, upload_time = "2025-06-05T16:15:20.111Z" }, ] [[package]] @@ -755,30 +610,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload_time = "2024-09-15T18:07:37.964Z" }, ] -[[package]] -name = "importlib-metadata" -version = "8.7.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "zipp", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload_time = "2025-04-27T15:29:01.736Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload_time = "2025-04-27T15:29:00.214Z" }, -] - -[[package]] -name = "importlib-resources" -version = "6.5.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "zipp", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload_time = "2025-01-03T18:51:56.698Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload_time = "2025-01-03T18:51:54.306Z" }, -] - [[package]] name = "iniconfig" version = "2.1.0" @@ -900,18 +731,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127, upload_time = "2025-05-18T19:04:38.837Z" }, { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527, upload_time = "2025-05-18T19:04:40.612Z" }, { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload_time = "2025-05-18T19:04:41.894Z" }, - { url = "https://files.pythonhosted.org/packages/98/fd/aced428e2bd3c6c1132f67c5a708f9e7fd161d0ca8f8c5862b17b93cdf0a/jiter-0.10.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bd6292a43c0fc09ce7c154ec0fa646a536b877d1e8f2f96c19707f65355b5a4d", size = 317665, upload_time = "2025-05-18T19:04:43.417Z" }, - { url = "https://files.pythonhosted.org/packages/b6/2e/47d42f15d53ed382aef8212a737101ae2720e3697a954f9b95af06d34e89/jiter-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39de429dcaeb6808d75ffe9effefe96a4903c6a4b376b2f6d08d77c1aaee2f18", size = 312152, upload_time = "2025-05-18T19:04:44.797Z" }, - { url = "https://files.pythonhosted.org/packages/7b/02/aae834228ef4834fc18718724017995ace8da5f70aa1ec225b9bc2b2d7aa/jiter-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52ce124f13a7a616fad3bb723f2bfb537d78239d1f7f219566dc52b6f2a9e48d", size = 346708, upload_time = "2025-05-18T19:04:46.127Z" }, - { url = "https://files.pythonhosted.org/packages/35/d4/6ff39dee2d0a9abd69d8a3832ce48a3aa644eed75e8515b5ff86c526ca9a/jiter-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:166f3606f11920f9a1746b2eea84fa2c0a5d50fd313c38bdea4edc072000b0af", size = 371360, upload_time = "2025-05-18T19:04:47.448Z" }, - { url = "https://files.pythonhosted.org/packages/a9/67/c749d962b4eb62445867ae4e64a543cbb5d63cc7d78ada274ac515500a7f/jiter-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:28dcecbb4ba402916034fc14eba7709f250c4d24b0c43fc94d187ee0580af181", size = 492105, upload_time = "2025-05-18T19:04:48.792Z" }, - { url = "https://files.pythonhosted.org/packages/f6/d3/8fe1b1bae5161f27b1891c256668f598fa4c30c0a7dacd668046a6215fca/jiter-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86c5aa6910f9bebcc7bc4f8bc461aff68504388b43bfe5e5c0bd21efa33b52f4", size = 389577, upload_time = "2025-05-18T19:04:50.13Z" }, - { url = "https://files.pythonhosted.org/packages/ef/28/ecb19d789b4777898a4252bfaac35e3f8caf16c93becd58dcbaac0dc24ad/jiter-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceeb52d242b315d7f1f74b441b6a167f78cea801ad7c11c36da77ff2d42e8a28", size = 353849, upload_time = "2025-05-18T19:04:51.443Z" }, - { url = "https://files.pythonhosted.org/packages/77/69/261f798f84790da6482ebd8c87ec976192b8c846e79444d0a2e0d33ebed8/jiter-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ff76d8887c8c8ee1e772274fcf8cc1071c2c58590d13e33bd12d02dc9a560397", size = 392029, upload_time = "2025-05-18T19:04:52.792Z" }, - { url = "https://files.pythonhosted.org/packages/cb/08/b8d15140d4d91f16faa2f5d416c1a71ab1bbe2b66c57197b692d04c0335f/jiter-0.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a9be4d0fa2b79f7222a88aa488bd89e2ae0a0a5b189462a12def6ece2faa45f1", size = 524386, upload_time = "2025-05-18T19:04:54.203Z" }, - { url = "https://files.pythonhosted.org/packages/9b/1d/23c41765cc95c0e23ac492a88450d34bf0fd87a37218d1b97000bffe0f53/jiter-0.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ab7fd8738094139b6c1ab1822d6f2000ebe41515c537235fd45dabe13ec9324", size = 515234, upload_time = "2025-05-18T19:04:55.838Z" }, - { url = "https://files.pythonhosted.org/packages/9f/14/381d8b151132e79790579819c3775be32820569f23806769658535fe467f/jiter-0.10.0-cp39-cp39-win32.whl", hash = "sha256:5f51e048540dd27f204ff4a87f5d79294ea0aa3aa552aca34934588cf27023cf", size = 211436, upload_time = "2025-05-18T19:04:57.183Z" }, - { url = "https://files.pythonhosted.org/packages/59/66/f23ae51dea8ee8ce429027b60008ca895d0fa0704f0c7fe5f09014a6cffb/jiter-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b28302349dc65703a9e4ead16f163b1c339efffbe1049c30a44b001a2a4fff9", size = 208777, upload_time = "2025-05-18T19:04:58.454Z" }, ] [[package]] @@ -925,7 +744,7 @@ wheels = [ [[package]] name = "jsonschema" -version = "4.23.0" +version = "4.24.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, @@ -933,9 +752,9 @@ dependencies = [ { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778, upload_time = "2024-07-08T18:40:05.546Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/d3/1cf5326b923a53515d8f3a2cd442e6d7e94fcc444716e879ea70a0ce3177/jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", size = 353480, upload_time = "2025-05-26T18:48:10.459Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462, upload_time = "2024-07-08T18:40:00.165Z" }, + { url = "https://files.pythonhosted.org/packages/a2/3d/023389198f69c722d039351050738d6755376c8fd343e91dc493ea485905/jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d", size = 88709, upload_time = "2025-05-26T18:48:08.417Z" }, ] [[package]] @@ -952,130 +771,22 @@ wheels = [ [[package]] name = "jupyter-core" -version = "5.8.0" +version = "5.8.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "platformdirs" }, { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b8/62/89f32e5cda8d581595624d574229fd4997b987d3ff35098bf0c634647fa2/jupyter_core-5.8.0.tar.gz", hash = "sha256:eac0af6bc62f66cd5faaf84fe9613e4f2eaf1a8b183bc097403822bd5122c86e", size = 88884, upload_time = "2025-05-26T11:23:39.588Z" } +sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload_time = "2025-05-27T07:38:16.655Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/99/0a3f1674f120681e2ee03e389cc1cd87c74425747d3b6d23e73094f799e4/jupyter_core-5.8.0-py3-none-any.whl", hash = "sha256:55493149572e9d48592c9c81f0ec4b025589769eb935e2fb1d3049b24a832784", size = 29591, upload_time = "2025-05-26T11:23:37.405Z" }, -] - -[[package]] -name = "kiwisolver" -version = "1.4.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286, upload_time = "2024-09-04T09:39:44.302Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/97/14/fc943dd65268a96347472b4fbe5dcc2f6f55034516f80576cd0dd3a8930f/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8a9c83f75223d5e48b0bc9cb1bf2776cf01563e00ade8775ffe13b0b6e1af3a6", size = 122440, upload_time = "2024-09-04T09:03:44.9Z" }, - { url = "https://files.pythonhosted.org/packages/1e/46/e68fed66236b69dd02fcdb506218c05ac0e39745d696d22709498896875d/kiwisolver-1.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:58370b1ffbd35407444d57057b57da5d6549d2d854fa30249771775c63b5fe17", size = 65758, upload_time = "2024-09-04T09:03:46.582Z" }, - { url = "https://files.pythonhosted.org/packages/ef/fa/65de49c85838681fc9cb05de2a68067a683717321e01ddafb5b8024286f0/kiwisolver-1.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aa0abdf853e09aff551db11fce173e2177d00786c688203f52c87ad7fcd91ef9", size = 64311, upload_time = "2024-09-04T09:03:47.973Z" }, - { url = "https://files.pythonhosted.org/packages/42/9c/cc8d90f6ef550f65443bad5872ffa68f3dee36de4974768628bea7c14979/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8d53103597a252fb3ab8b5845af04c7a26d5e7ea8122303dd7a021176a87e8b9", size = 1637109, upload_time = "2024-09-04T09:03:49.281Z" }, - { url = "https://files.pythonhosted.org/packages/55/91/0a57ce324caf2ff5403edab71c508dd8f648094b18cfbb4c8cc0fde4a6ac/kiwisolver-1.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:88f17c5ffa8e9462fb79f62746428dd57b46eb931698e42e990ad63103f35e6c", size = 1617814, upload_time = "2024-09-04T09:03:51.444Z" }, - { url = "https://files.pythonhosted.org/packages/12/5d/c36140313f2510e20207708adf36ae4919416d697ee0236b0ddfb6fd1050/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a9ca9c710d598fd75ee5de59d5bda2684d9db36a9f50b6125eaea3969c2599", size = 1400881, upload_time = "2024-09-04T09:03:53.357Z" }, - { url = "https://files.pythonhosted.org/packages/56/d0/786e524f9ed648324a466ca8df86298780ef2b29c25313d9a4f16992d3cf/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4d742cb7af1c28303a51b7a27aaee540e71bb8e24f68c736f6f2ffc82f2bf05", size = 1512972, upload_time = "2024-09-04T09:03:55.082Z" }, - { url = "https://files.pythonhosted.org/packages/67/5a/77851f2f201e6141d63c10a0708e996a1363efaf9e1609ad0441b343763b/kiwisolver-1.4.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e28c7fea2196bf4c2f8d46a0415c77a1c480cc0724722f23d7410ffe9842c407", size = 1444787, upload_time = "2024-09-04T09:03:56.588Z" }, - { url = "https://files.pythonhosted.org/packages/06/5f/1f5eaab84355885e224a6fc8d73089e8713dc7e91c121f00b9a1c58a2195/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e968b84db54f9d42046cf154e02911e39c0435c9801681e3fc9ce8a3c4130278", size = 2199212, upload_time = "2024-09-04T09:03:58.557Z" }, - { url = "https://files.pythonhosted.org/packages/b5/28/9152a3bfe976a0ae21d445415defc9d1cd8614b2910b7614b30b27a47270/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0c18ec74c0472de033e1bebb2911c3c310eef5649133dd0bedf2a169a1b269e5", size = 2346399, upload_time = "2024-09-04T09:04:00.178Z" }, - { url = "https://files.pythonhosted.org/packages/26/f6/453d1904c52ac3b400f4d5e240ac5fec25263716723e44be65f4d7149d13/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8f0ea6da6d393d8b2e187e6a5e3fb81f5862010a40c3945e2c6d12ae45cfb2ad", size = 2308688, upload_time = "2024-09-04T09:04:02.216Z" }, - { url = "https://files.pythonhosted.org/packages/5a/9a/d4968499441b9ae187e81745e3277a8b4d7c60840a52dc9d535a7909fac3/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f106407dda69ae456dd1227966bf445b157ccc80ba0dff3802bb63f30b74e895", size = 2445493, upload_time = "2024-09-04T09:04:04.571Z" }, - { url = "https://files.pythonhosted.org/packages/07/c9/032267192e7828520dacb64dfdb1d74f292765f179e467c1cba97687f17d/kiwisolver-1.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84ec80df401cfee1457063732d90022f93951944b5b58975d34ab56bb150dfb3", size = 2262191, upload_time = "2024-09-04T09:04:05.969Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ad/db0aedb638a58b2951da46ddaeecf204be8b4f5454df020d850c7fa8dca8/kiwisolver-1.4.7-cp310-cp310-win32.whl", hash = "sha256:71bb308552200fb2c195e35ef05de12f0c878c07fc91c270eb3d6e41698c3bcc", size = 46644, upload_time = "2024-09-04T09:04:07.408Z" }, - { url = "https://files.pythonhosted.org/packages/12/ca/d0f7b7ffbb0be1e7c2258b53554efec1fd652921f10d7d85045aff93ab61/kiwisolver-1.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:44756f9fd339de0fb6ee4f8c1696cfd19b2422e0d70b4cefc1cc7f1f64045a8c", size = 55877, upload_time = "2024-09-04T09:04:08.869Z" }, - { url = "https://files.pythonhosted.org/packages/97/6c/cfcc128672f47a3e3c0d918ecb67830600078b025bfc32d858f2e2d5c6a4/kiwisolver-1.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:78a42513018c41c2ffd262eb676442315cbfe3c44eed82385c2ed043bc63210a", size = 48347, upload_time = "2024-09-04T09:04:10.106Z" }, - { url = "https://files.pythonhosted.org/packages/e9/44/77429fa0a58f941d6e1c58da9efe08597d2e86bf2b2cce6626834f49d07b/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54", size = 122442, upload_time = "2024-09-04T09:04:11.432Z" }, - { url = "https://files.pythonhosted.org/packages/e5/20/8c75caed8f2462d63c7fd65e16c832b8f76cda331ac9e615e914ee80bac9/kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95", size = 65762, upload_time = "2024-09-04T09:04:12.468Z" }, - { url = "https://files.pythonhosted.org/packages/f4/98/fe010f15dc7230f45bc4cf367b012d651367fd203caaa992fd1f5963560e/kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935", size = 64319, upload_time = "2024-09-04T09:04:13.635Z" }, - { url = "https://files.pythonhosted.org/packages/8b/1b/b5d618f4e58c0675654c1e5051bcf42c776703edb21c02b8c74135541f60/kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb", size = 1334260, upload_time = "2024-09-04T09:04:14.878Z" }, - { url = "https://files.pythonhosted.org/packages/b8/01/946852b13057a162a8c32c4c8d2e9ed79f0bb5d86569a40c0b5fb103e373/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02", size = 1426589, upload_time = "2024-09-04T09:04:16.514Z" }, - { url = "https://files.pythonhosted.org/packages/70/d1/c9f96df26b459e15cf8a965304e6e6f4eb291e0f7a9460b4ad97b047561e/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51", size = 1541080, upload_time = "2024-09-04T09:04:18.322Z" }, - { url = "https://files.pythonhosted.org/packages/d3/73/2686990eb8b02d05f3de759d6a23a4ee7d491e659007dd4c075fede4b5d0/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052", size = 1470049, upload_time = "2024-09-04T09:04:20.266Z" }, - { url = "https://files.pythonhosted.org/packages/a7/4b/2db7af3ed3af7c35f388d5f53c28e155cd402a55432d800c543dc6deb731/kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18", size = 1426376, upload_time = "2024-09-04T09:04:22.419Z" }, - { url = "https://files.pythonhosted.org/packages/05/83/2857317d04ea46dc5d115f0df7e676997bbd968ced8e2bd6f7f19cfc8d7f/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545", size = 2222231, upload_time = "2024-09-04T09:04:24.526Z" }, - { url = "https://files.pythonhosted.org/packages/0d/b5/866f86f5897cd4ab6d25d22e403404766a123f138bd6a02ecb2cdde52c18/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b", size = 2368634, upload_time = "2024-09-04T09:04:25.899Z" }, - { url = "https://files.pythonhosted.org/packages/c1/ee/73de8385403faba55f782a41260210528fe3273d0cddcf6d51648202d6d0/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36", size = 2329024, upload_time = "2024-09-04T09:04:28.523Z" }, - { url = "https://files.pythonhosted.org/packages/a1/e7/cd101d8cd2cdfaa42dc06c433df17c8303d31129c9fdd16c0ea37672af91/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3", size = 2468484, upload_time = "2024-09-04T09:04:30.547Z" }, - { url = "https://files.pythonhosted.org/packages/e1/72/84f09d45a10bc57a40bb58b81b99d8f22b58b2040c912b7eb97ebf625bf2/kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523", size = 2284078, upload_time = "2024-09-04T09:04:33.218Z" }, - { url = "https://files.pythonhosted.org/packages/d2/d4/71828f32b956612dc36efd7be1788980cb1e66bfb3706e6dec9acad9b4f9/kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d", size = 46645, upload_time = "2024-09-04T09:04:34.371Z" }, - { url = "https://files.pythonhosted.org/packages/a1/65/d43e9a20aabcf2e798ad1aff6c143ae3a42cf506754bcb6a7ed8259c8425/kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b", size = 56022, upload_time = "2024-09-04T09:04:35.786Z" }, - { url = "https://files.pythonhosted.org/packages/35/b3/9f75a2e06f1b4ca00b2b192bc2b739334127d27f1d0625627ff8479302ba/kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376", size = 48536, upload_time = "2024-09-04T09:04:37.525Z" }, - { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808, upload_time = "2024-09-04T09:04:38.637Z" }, - { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531, upload_time = "2024-09-04T09:04:39.694Z" }, - { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894, upload_time = "2024-09-04T09:04:41.6Z" }, - { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296, upload_time = "2024-09-04T09:04:42.886Z" }, - { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450, upload_time = "2024-09-04T09:04:46.284Z" }, - { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168, upload_time = "2024-09-04T09:04:47.91Z" }, - { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308, upload_time = "2024-09-04T09:04:49.465Z" }, - { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186, upload_time = "2024-09-04T09:04:50.949Z" }, - { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877, upload_time = "2024-09-04T09:04:52.388Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204, upload_time = "2024-09-04T09:04:54.385Z" }, - { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461, upload_time = "2024-09-04T09:04:56.307Z" }, - { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358, upload_time = "2024-09-04T09:04:57.922Z" }, - { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119, upload_time = "2024-09-04T09:04:59.332Z" }, - { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367, upload_time = "2024-09-04T09:05:00.804Z" }, - { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884, upload_time = "2024-09-04T09:05:01.924Z" }, - { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528, upload_time = "2024-09-04T09:05:02.983Z" }, - { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913, upload_time = "2024-09-04T09:05:04.072Z" }, - { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627, upload_time = "2024-09-04T09:05:05.119Z" }, - { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888, upload_time = "2024-09-04T09:05:06.191Z" }, - { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145, upload_time = "2024-09-04T09:05:07.919Z" }, - { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448, upload_time = "2024-09-04T09:05:10.01Z" }, - { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750, upload_time = "2024-09-04T09:05:11.598Z" }, - { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175, upload_time = "2024-09-04T09:05:13.22Z" }, - { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963, upload_time = "2024-09-04T09:05:15.925Z" }, - { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220, upload_time = "2024-09-04T09:05:17.434Z" }, - { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463, upload_time = "2024-09-04T09:05:18.997Z" }, - { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842, upload_time = "2024-09-04T09:05:21.299Z" }, - { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635, upload_time = "2024-09-04T09:05:23.588Z" }, - { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556, upload_time = "2024-09-04T09:05:25.907Z" }, - { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364, upload_time = "2024-09-04T09:05:27.184Z" }, - { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887, upload_time = "2024-09-04T09:05:28.372Z" }, - { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530, upload_time = "2024-09-04T09:05:30.225Z" }, - { url = "https://files.pythonhosted.org/packages/11/88/37ea0ea64512997b13d69772db8dcdc3bfca5442cda3a5e4bb943652ee3e/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3f9362ecfca44c863569d3d3c033dbe8ba452ff8eed6f6b5806382741a1334bd", size = 122449, upload_time = "2024-09-04T09:05:55.311Z" }, - { url = "https://files.pythonhosted.org/packages/4e/45/5a5c46078362cb3882dcacad687c503089263c017ca1241e0483857791eb/kiwisolver-1.4.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e8df2eb9b2bac43ef8b082e06f750350fbbaf2887534a5be97f6cf07b19d9583", size = 65757, upload_time = "2024-09-04T09:05:56.906Z" }, - { url = "https://files.pythonhosted.org/packages/8a/be/a6ae58978772f685d48dd2e84460937761c53c4bbd84e42b0336473d9775/kiwisolver-1.4.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f32d6edbc638cde7652bd690c3e728b25332acbadd7cad670cc4a02558d9c417", size = 64312, upload_time = "2024-09-04T09:05:58.384Z" }, - { url = "https://files.pythonhosted.org/packages/f4/04/18ef6f452d311e1e1eb180c9bf5589187fa1f042db877e6fe443ef10099c/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e2e6c39bd7b9372b0be21456caab138e8e69cc0fc1190a9dfa92bd45a1e6e904", size = 1626966, upload_time = "2024-09-04T09:05:59.855Z" }, - { url = "https://files.pythonhosted.org/packages/21/b1/40655f6c3fa11ce740e8a964fa8e4c0479c87d6a7944b95af799c7a55dfe/kiwisolver-1.4.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dda56c24d869b1193fcc763f1284b9126550eaf84b88bbc7256e15028f19188a", size = 1607044, upload_time = "2024-09-04T09:06:02.16Z" }, - { url = "https://files.pythonhosted.org/packages/fd/93/af67dbcfb9b3323bbd2c2db1385a7139d8f77630e4a37bb945b57188eb2d/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79849239c39b5e1fd906556c474d9b0439ea6792b637511f3fe3a41158d89ca8", size = 1391879, upload_time = "2024-09-04T09:06:03.908Z" }, - { url = "https://files.pythonhosted.org/packages/40/6f/d60770ef98e77b365d96061d090c0cd9e23418121c55fff188fa4bdf0b54/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e3bc157fed2a4c02ec468de4ecd12a6e22818d4f09cde2c31ee3226ffbefab2", size = 1504751, upload_time = "2024-09-04T09:06:05.58Z" }, - { url = "https://files.pythonhosted.org/packages/fa/3a/5f38667d313e983c432f3fcd86932177519ed8790c724e07d77d1de0188a/kiwisolver-1.4.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da53da805b71e41053dc670f9a820d1157aae77b6b944e08024d17bcd51ef88", size = 1436990, upload_time = "2024-09-04T09:06:08.126Z" }, - { url = "https://files.pythonhosted.org/packages/cb/3b/1520301a47326e6a6043b502647e42892be33b3f051e9791cc8bb43f1a32/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8705f17dfeb43139a692298cb6637ee2e59c0194538153e83e9ee0c75c2eddde", size = 2191122, upload_time = "2024-09-04T09:06:10.345Z" }, - { url = "https://files.pythonhosted.org/packages/cf/c4/eb52da300c166239a2233f1f9c4a1b767dfab98fae27681bfb7ea4873cb6/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:82a5c2f4b87c26bb1a0ef3d16b5c4753434633b83d365cc0ddf2770c93829e3c", size = 2338126, upload_time = "2024-09-04T09:06:12.321Z" }, - { url = "https://files.pythonhosted.org/packages/1a/cb/42b92fd5eadd708dd9107c089e817945500685f3437ce1fd387efebc6d6e/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce8be0466f4c0d585cdb6c1e2ed07232221df101a4c6f28821d2aa754ca2d9e2", size = 2298313, upload_time = "2024-09-04T09:06:14.562Z" }, - { url = "https://files.pythonhosted.org/packages/4f/eb/be25aa791fe5fc75a8b1e0c965e00f942496bc04635c9aae8035f6b76dcd/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:409afdfe1e2e90e6ee7fc896f3df9a7fec8e793e58bfa0d052c8a82f99c37abb", size = 2437784, upload_time = "2024-09-04T09:06:16.767Z" }, - { url = "https://files.pythonhosted.org/packages/c5/22/30a66be7f3368d76ff95689e1c2e28d382383952964ab15330a15d8bfd03/kiwisolver-1.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5b9c3f4ee0b9a439d2415012bd1b1cc2df59e4d6a9939f4d669241d30b414327", size = 2253988, upload_time = "2024-09-04T09:06:18.705Z" }, - { url = "https://files.pythonhosted.org/packages/35/d3/5f2ecb94b5211c8a04f218a76133cc8d6d153b0f9cd0b45fad79907f0689/kiwisolver-1.4.7-cp39-cp39-win32.whl", hash = "sha256:a79ae34384df2b615eefca647a2873842ac3b596418032bef9a7283675962644", size = 46980, upload_time = "2024-09-04T09:06:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/ef/17/cd10d020578764ea91740204edc6b3236ed8106228a46f568d716b11feb2/kiwisolver-1.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:cf0438b42121a66a3a667de17e779330fc0f20b0d97d59d2f2121e182b0505e4", size = 55847, upload_time = "2024-09-04T09:06:21.407Z" }, - { url = "https://files.pythonhosted.org/packages/91/84/32232502020bd78d1d12be7afde15811c64a95ed1f606c10456db4e4c3ac/kiwisolver-1.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:764202cc7e70f767dab49e8df52c7455e8de0df5d858fa801a11aa0d882ccf3f", size = 48494, upload_time = "2024-09-04T09:06:22.648Z" }, - { url = "https://files.pythonhosted.org/packages/ac/59/741b79775d67ab67ced9bb38552da688c0305c16e7ee24bba7a2be253fb7/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:94252291e3fe68001b1dd747b4c0b3be12582839b95ad4d1b641924d68fd4643", size = 59491, upload_time = "2024-09-04T09:06:24.188Z" }, - { url = "https://files.pythonhosted.org/packages/58/cc/fb239294c29a5656e99e3527f7369b174dd9cc7c3ef2dea7cb3c54a8737b/kiwisolver-1.4.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b7dfa3b546da08a9f622bb6becdb14b3e24aaa30adba66749d38f3cc7ea9706", size = 57648, upload_time = "2024-09-04T09:06:25.559Z" }, - { url = "https://files.pythonhosted.org/packages/3b/ef/2f009ac1f7aab9f81efb2d837301d255279d618d27b6015780115ac64bdd/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd3de6481f4ed8b734da5df134cd5a6a64fe32124fe83dde1e5b5f29fe30b1e6", size = 84257, upload_time = "2024-09-04T09:06:27.038Z" }, - { url = "https://files.pythonhosted.org/packages/81/e1/c64f50987f85b68b1c52b464bb5bf73e71570c0f7782d626d1eb283ad620/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a91b5f9f1205845d488c928e8570dcb62b893372f63b8b6e98b863ebd2368ff2", size = 80906, upload_time = "2024-09-04T09:06:28.48Z" }, - { url = "https://files.pythonhosted.org/packages/fd/71/1687c5c0a0be2cee39a5c9c389e546f9c6e215e46b691d00d9f646892083/kiwisolver-1.4.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fa14dbd66b8b8f470d5fc79c089a66185619d31645f9b0773b88b19f7223c4", size = 79951, upload_time = "2024-09-04T09:06:29.966Z" }, - { url = "https://files.pythonhosted.org/packages/ea/8b/d7497df4a1cae9367adf21665dd1f896c2a7aeb8769ad77b662c5e2bcce7/kiwisolver-1.4.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:eb542fe7933aa09d8d8f9d9097ef37532a7df6497819d16efe4359890a2f417a", size = 55715, upload_time = "2024-09-04T09:06:31.489Z" }, - { url = "https://files.pythonhosted.org/packages/d5/df/ce37d9b26f07ab90880923c94d12a6ff4d27447096b4c849bfc4339ccfdf/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b01aac285f91ca889c800042c35ad3b239e704b150cfd3382adfc9dcc780e39", size = 58666, upload_time = "2024-09-04T09:06:43.756Z" }, - { url = "https://files.pythonhosted.org/packages/b0/d3/e4b04f43bc629ac8e186b77b2b1a251cdfa5b7610fa189dc0db622672ce6/kiwisolver-1.4.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:48be928f59a1f5c8207154f935334d374e79f2b5d212826307d072595ad76a2e", size = 57088, upload_time = "2024-09-04T09:06:45.406Z" }, - { url = "https://files.pythonhosted.org/packages/30/1c/752df58e2d339e670a535514d2db4fe8c842ce459776b8080fbe08ebb98e/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f37cfe618a117e50d8c240555331160d73d0411422b59b5ee217843d7b693608", size = 84321, upload_time = "2024-09-04T09:06:47.557Z" }, - { url = "https://files.pythonhosted.org/packages/f0/f8/fe6484e847bc6e238ec9f9828089fb2c0bb53f2f5f3a79351fde5b565e4f/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:599b5c873c63a1f6ed7eead644a8a380cfbdf5db91dcb6f85707aaab213b1674", size = 80776, upload_time = "2024-09-04T09:06:49.235Z" }, - { url = "https://files.pythonhosted.org/packages/9b/57/d7163c0379f250ef763aba85330a19feefb5ce6cb541ade853aaba881524/kiwisolver-1.4.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:801fa7802e5cfabe3ab0c81a34c323a319b097dfb5004be950482d882f3d7225", size = 79984, upload_time = "2024-09-04T09:06:51.336Z" }, - { url = "https://files.pythonhosted.org/packages/8c/95/4a103776c265d13b3d2cd24fb0494d4e04ea435a8ef97e1b2c026d43250b/kiwisolver-1.4.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0c6c43471bc764fad4bc99c5c2d6d16a676b1abf844ca7c8702bdae92df01ee0", size = 55811, upload_time = "2024-09-04T09:06:53.078Z" }, + { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload_time = "2025-05-27T07:38:15.137Z" }, ] [[package]] name = "kiwisolver" version = "1.4.8" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/82/59/7c91426a8ac292e1cdd53a63b6d9439abd573c875c3f92c146767dd33faf/kiwisolver-1.4.8.tar.gz", hash = "sha256:23d5f023bdc8c7e54eb65f03ca5d5bb25b601eac4d7f1a042888a1f45237987e", size = 97538, upload_time = "2024-12-24T18:30:51.519Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/47/5f/4d8e9e852d98ecd26cdf8eaf7ed8bc33174033bba5e07001b289f07308fd/kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db", size = 124623, upload_time = "2024-12-24T18:28:17.687Z" }, @@ -1161,144 +872,141 @@ wheels = [ [[package]] name = "loro" -version = "1.5.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/42/d8/b90d66fb97a57c311f9d40fa48c5f997bec28c36faf2b720ece5c244aae0/loro-1.5.1.tar.gz", hash = "sha256:8376a14b23a11f934fcda8a02548a449ff4f5da816769c78a442a89a23cd9736", size = 60681, upload_time = "2025-05-15T00:24:36.215Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/85/b96ca5e5214a4fc596d2df8c6ee689222afd6584b79686fa4b636c3e4a8e/loro-1.5.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2429b87be61da85d55790cef1f5003945c89c06077e38d608509e795f3e3c43a", size = 2975518, upload_time = "2025-05-15T00:22:33.556Z" }, - { url = "https://files.pythonhosted.org/packages/a8/71/cc15575073f844bb77f4f979134d0ca299cc73080b3ad5627fdf76ac66ee/loro-1.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3aec2964f7ca5a0afe19c561a9882bb3bfe71d738d37ff5b8f5660c1f5237b32", size = 2764763, upload_time = "2025-05-15T00:22:20.797Z" }, - { url = "https://files.pythonhosted.org/packages/ef/aa/525fdab02095705ea49ccdab1a522074335fde95a2102ff79059702630df/loro-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:789de0543efde1fe941f84495a3af8f2f2e404368195bc6a33b64d8faa4d92c5", size = 2965114, upload_time = "2025-05-15T00:19:44.531Z" }, - { url = "https://files.pythonhosted.org/packages/39/7e/f66f978afc57b711a7bb3e10750de52463f98bb5b6ce86b78af4c43ec145/loro-1.5.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4b55c090563a0c4c6f1ccc5cfb1a3c27ef05243e9a0e0fb0f92bfb86eb73660a", size = 3044297, upload_time = "2025-05-15T00:20:15.118Z" }, - { url = "https://files.pythonhosted.org/packages/ac/81/0b376d2f0de3b3b138afab4e4c941c81b6868c14d58592ac4aed0c1ec472/loro-1.5.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fd84b623ddc96da0b1220bb8da8c8ac6031710a512ecd2413a602717bfde9dd", size = 3273170, upload_time = "2025-05-15T00:20:42.734Z" }, - { url = "https://files.pythonhosted.org/packages/3f/ce/e9d9f51fb38ba619fbb582d0fe47de29a91983d2b845c73c78e4437653c9/loro-1.5.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e37ffe30665113a6163d09c3840495e9143772b0cae55cf27058f3424c45f75", size = 3804248, upload_time = "2025-05-15T00:21:10.395Z" }, - { url = "https://files.pythonhosted.org/packages/d2/9a/77d28c12f0176a4cc2409699a4fae79e64d2d08a19ddaec63cd28a31c64a/loro-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dd045e6a1ab17b2ca362c7ad280e6f6e02d5ac84bf280d617c3762cd6f69770", size = 3102088, upload_time = "2025-05-15T00:22:00.111Z" }, - { url = "https://files.pythonhosted.org/packages/e2/51/0cd1425fc04c5f70053e73d9b36d5282612243d0020e91bea6dba7eb6856/loro-1.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a55948efadbfde2aa0e709d5c0ced37a6a708052b1b69a33f743aedbba971ae7", size = 3363226, upload_time = "2025-05-15T00:21:37.827Z" }, - { url = "https://files.pythonhosted.org/packages/70/24/07f8368c110a409bb68f296fccfb1a9790f0def1341b6e8bc1f289821335/loro-1.5.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6ff0b72f8dee8e00098a5b05352247949c8f7282d1a290710adb79bfe199138", size = 3119022, upload_time = "2025-05-15T00:22:45.777Z" }, - { url = "https://files.pythonhosted.org/packages/9a/2c/9a2089d5100168ae099a131fc6c1a67dced8eaa5228ca541335485ce0a40/loro-1.5.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e426ee266415f91e4768091a8385f01ab341ff34417d2ab1f59a643fd3b84b89", size = 3308665, upload_time = "2025-05-15T00:23:11.474Z" }, - { url = "https://files.pythonhosted.org/packages/a6/1a/dcba84f38e7d381f3b2b2e1904c96a581ac4438c45cd900f6aec6fd8d721/loro-1.5.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d19ee442feefa4301af88a02838fb3909432d576cc91c5ab687287bb083f8c10", size = 3366009, upload_time = "2025-05-15T00:23:40.969Z" }, - { url = "https://files.pythonhosted.org/packages/f1/58/f8abfc886b70c2fec04e57d5ddfaa2ae31fb0b67e788fa81618007e74514/loro-1.5.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d6b90b042559b637a44c91ed7f522b785f668d26e08f8bb8d726d47f6842aa0e", size = 3268297, upload_time = "2025-05-15T00:24:09.517Z" }, - { url = "https://files.pythonhosted.org/packages/df/7e/aefe0decde593ae8a72bef15ece053abc91879118bc01dcb63d8d2a45726/loro-1.5.1-cp310-cp310-win32.whl", hash = "sha256:c9ec5b500fbd8668ad694ba4a56f00562b18df2b2ae9877968096c8397172861", size = 2469625, upload_time = "2025-05-15T00:24:53.124Z" }, - { url = "https://files.pythonhosted.org/packages/53/c4/66ba5a8a2f981e53b5addf120b77d4dc4f3c16783caa90066c01c6c758b3/loro-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:31995e21545a57b765774c9f95c6b46481d9922348317180d094430fc7821207", size = 2619567, upload_time = "2025-05-15T00:24:37.109Z" }, - { url = "https://files.pythonhosted.org/packages/44/b2/0270251442e7c064277ef9f9cbb755c7e40b0480b1eb57951a001c3f204a/loro-1.5.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4abe6ce66c904f0ed1e0d80be3d03445f81b1818596d8eec14117e53f731968", size = 2975902, upload_time = "2025-05-15T00:22:35.173Z" }, - { url = "https://files.pythonhosted.org/packages/bf/09/0bcd4adaa555b867d225f2ddbb146707167166a81c52f96b5b15d723da49/loro-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bcb441c73d7beae6562cb43d2d7d649244a2c4eb294ab72f0b3b122b77497d9d", size = 2764922, upload_time = "2025-05-15T00:22:22.074Z" }, - { url = "https://files.pythonhosted.org/packages/60/3e/4a464f1b9248fc8fba870517afb9d24c6b1dc14adeb36e53964134976e8e/loro-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c1f667847206d1a0e91e87f9a3d0152afb0be5793e1961863d54af22b920912", size = 2965128, upload_time = "2025-05-15T00:19:46.92Z" }, - { url = "https://files.pythonhosted.org/packages/07/1e/1439dd83fb2982515538654fe9e982ef4887dceef287278d318e0042bc1e/loro-1.5.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0fe056fdcd3ca4aee2ba012803b1a2fa39257ac6d9dcf09fcbd2098fc038686", size = 3044486, upload_time = "2025-05-15T00:20:16.635Z" }, - { url = "https://files.pythonhosted.org/packages/55/31/38c010ab5cda6c17ccd385a8739d71b5b5f9bdc29e9509d5c802e58c79e0/loro-1.5.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e5a7f96c7e88389b06bd0d32bd891c650295bcefb99bceee9b8448fcde76ac5e", size = 3273494, upload_time = "2025-05-15T00:20:44.385Z" }, - { url = "https://files.pythonhosted.org/packages/5a/c9/0c4e2f6f6149c331a25d52f432da112aa5b65c9605e20b4efcfa891b0753/loro-1.5.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45bd1519aaedd82d5c1b705ef5a286fd2f0d678a334947a4cd65b4b03665a00b", size = 3803384, upload_time = "2025-05-15T00:21:12.112Z" }, - { url = "https://files.pythonhosted.org/packages/92/ea/c4dd7a6968eb280a623b7b71eda49f2a98151692cc3351f901ac29318363/loro-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397fc87b5944200863475598eebd62da8e0eab06a0087f53bc9b138fc32b3d44", size = 3102067, upload_time = "2025-05-15T00:22:01.531Z" }, - { url = "https://files.pythonhosted.org/packages/2b/34/a721e80b49a6d6cf9e6915ca663086f0960c045b97ffd2c0898ace397c55/loro-1.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3a451c371a0e68d91391bd4df1d35cd500d893c3d913357c2ea191529e70df81", size = 3363002, upload_time = "2025-05-15T00:21:39.539Z" }, - { url = "https://files.pythonhosted.org/packages/c6/c8/c3b2c96e17def67a2531983c074b41a9a84721cb3bb9a4c7637e077e4446/loro-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95285cfe4f295d527ff81fc4de45d5f8abdb4c999038215aca943896a37b6521", size = 3119101, upload_time = "2025-05-15T00:22:47.246Z" }, - { url = "https://files.pythonhosted.org/packages/84/4e/435f1490d8fba52c64ffd5f4d09da50e05488fca02cb0211570d848d3a85/loro-1.5.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6ac256299794b9b187b902cfcdc6825a0406b83c69d4dcf814aaa0e1ce2434ce", size = 3308294, upload_time = "2025-05-15T00:23:13.017Z" }, - { url = "https://files.pythonhosted.org/packages/9c/e1/e7ac854992fab9314fb59cd2b463d7bd3e976aa9275e982152a4b86d29fc/loro-1.5.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:02a2f036f13bdfefa8e08a74195d1eb4bdc32f212a51e74fe49885ae0b5f2447", size = 3365930, upload_time = "2025-05-15T00:23:42.634Z" }, - { url = "https://files.pythonhosted.org/packages/53/f9/62e1ecd0024b23fc485668afa373cab377d4aa396a37f193f9914133ab61/loro-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0e1409d84af2441df527e3a92b19c0b08ccf82662b7fd3e10cf4bfedf4f035a8", size = 3268295, upload_time = "2025-05-15T00:24:10.889Z" }, - { url = "https://files.pythonhosted.org/packages/ec/9d/b7b85dda6b72d5208e05093075ebc6c50814d0ffdef32356b82481e011de/loro-1.5.1-cp311-cp311-win32.whl", hash = "sha256:8087c3852b261c5ca5ec4a2006b9eccba862e32c42c3d6383657ad71c8b71c6f", size = 2469450, upload_time = "2025-05-15T00:24:54.464Z" }, - { url = "https://files.pythonhosted.org/packages/9f/65/4f227a469ae94a5c9496f198756d27892d352e344f6f51d695953f8a40ca/loro-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:7fa94c1b3b3a8874bbbb705d9cce47230e0ef6b3f5c5e78089a5e5da967f1a74", size = 2619696, upload_time = "2025-05-15T00:24:38.515Z" }, - { url = "https://files.pythonhosted.org/packages/ef/36/04291632421f74c00f219fecf353000c0e722773c41d1e57731187b96be0/loro-1.5.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3976d7cafa3dfd9e75f110e4cc8b1de4dba2709dbd42b99270f7139433bfa57e", size = 2952871, upload_time = "2025-05-15T00:22:36.556Z" }, - { url = "https://files.pythonhosted.org/packages/8c/70/faf6cfda83a9f3dba377261876dc649cbf6ad256c267d126125f8701cba8/loro-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:362c8388b4a3948d70bc6cf060b5149e716bd41ffc2fa028a77ecbd1dff2fa50", size = 2747990, upload_time = "2025-05-15T00:22:24.284Z" }, - { url = "https://files.pythonhosted.org/packages/86/5c/4f59d23293149b423af7a71f5a6320de48f2bdda64ea73e280d3a4394274/loro-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97395b6c5844398a2cfb2906631fd49352482617006608f55d0dcefd794626ee", size = 2965889, upload_time = "2025-05-15T00:19:48.576Z" }, - { url = "https://files.pythonhosted.org/packages/9b/67/b317fd181f7a08aa4f5fb810dc8d40d69c7acab10c7cd0711e66281b0fa8/loro-1.5.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:11674be191a382e3d7fd8d2e2c8abcba70f30f0e1e65c7718ff57dacb972aa85", size = 3046859, upload_time = "2025-05-15T00:20:18.609Z" }, - { url = "https://files.pythonhosted.org/packages/17/a4/e3b0ab4071255dd9bb1ae8586b911586b7771a107dd50d6d6717814edbbb/loro-1.5.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:06c90cd3fbe10be068063828966cec19d5b2fa5897a103dc39f5162f31af1c3d", size = 3279261, upload_time = "2025-05-15T00:20:45.917Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ce/19b13ac2b59c5c35dd5fc8c10c494296b65ae2101aaa5eaa1a0e590c60ae/loro-1.5.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52665162bdabdf5bb835e94920995e4704722cab6569b63bef13867f5b29c3bd", size = 3800927, upload_time = "2025-05-15T00:21:13.528Z" }, - { url = "https://files.pythonhosted.org/packages/c2/84/15f9ce7e478cedf7739c349707ed090e2d55d463d8be646067f3656605c3/loro-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f6f86d4ba56ab08616e111da658a8395a7ff8266cfa1a2355e73fec3f3e0ca", size = 3105034, upload_time = "2025-05-15T00:22:02.755Z" }, - { url = "https://files.pythonhosted.org/packages/25/c3/9eadd2a6c88cafa828b63a6423586d9ed732b0e817c311a9affae1509744/loro-1.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d4846f47eecc467a5a819d8352a7f5a3926126cb0fa4f29bae4d2013b716c9d3", size = 3364247, upload_time = "2025-05-15T00:21:41.163Z" }, - { url = "https://files.pythonhosted.org/packages/92/59/f312a5d6d865d526ae11a2126c1da473bd45cfdae57d5bb68c4a3db9cdf3/loro-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:dff6483163967b1096aefa035ad58e9164869bf02d63a6c8feb085755ebccff6", size = 3119271, upload_time = "2025-05-15T00:22:48.845Z" }, - { url = "https://files.pythonhosted.org/packages/a1/71/704a30f6c0b1a3da792e1ee5f6096ca6e389157afabcb26be7f5dd54e3a3/loro-1.5.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ce2feac62a2a2a996a198c06874597129a7d4fbb1ced2e752e7c36cb7ee38e67", size = 3312152, upload_time = "2025-05-15T00:23:14.456Z" }, - { url = "https://files.pythonhosted.org/packages/ca/5a/f2686fde16f41d7a2005cd0ad26b8df84fe51b1152e31100c59eb0580d78/loro-1.5.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:be1cac46a3473d6462f79a8630bded844e6b17698c0745b9c9ef072878fa3df6", size = 3367555, upload_time = "2025-05-15T00:23:44.239Z" }, - { url = "https://files.pythonhosted.org/packages/3f/e8/54fd01f24cf973d702f105cf23e3bd8ea79d5b0f022ab8ac74670a7ff70b/loro-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ecf70c9520c64e51e6fec24685c46398537fd2656b25b93875049956a304ef40", size = 3271211, upload_time = "2025-05-15T00:24:12.235Z" }, - { url = "https://files.pythonhosted.org/packages/03/e1/5f89b15040c8f5e2f1261639ee407ad39cc2e98a0760c703e0b2b00eec20/loro-1.5.1-cp312-cp312-win32.whl", hash = "sha256:853e12b72c3c69cf9facbae59a835369174649417d38ca221f5f523f2069c2ff", size = 2466741, upload_time = "2025-05-15T00:24:55.82Z" }, - { url = "https://files.pythonhosted.org/packages/7d/b2/cfa253e46326a1f3477cafa3c14a6a408c54d226abcbfc832b447e6f49ff/loro-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:772bb6afc979e9bd43b19967d45e1e177051a9b89212efbc2492d36b48e2e625", size = 2630378, upload_time = "2025-05-15T00:24:40.093Z" }, - { url = "https://files.pythonhosted.org/packages/8d/cf/113776aaf5d4da883fbab2154c68d839b43d29cc61189f54af1b7044f521/loro-1.5.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4e54819ce83d464afb1bfcd85174b1086f8bb723d8e90b189eac101780da8db3", size = 2952496, upload_time = "2025-05-15T00:22:38.134Z" }, - { url = "https://files.pythonhosted.org/packages/89/5b/f96b8e3f207bd1049ac10b2dff3c7f034463c4a4069a9568bd41e67f9364/loro-1.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1af8251ff5f3ea7bb0408e3cff61f9d26316c88c79c4264f351930569924d9c8", size = 2747958, upload_time = "2025-05-15T00:22:25.55Z" }, - { url = "https://files.pythonhosted.org/packages/19/77/3cb0e14bf751a7c9a281141d34686c6d2e6926b7a002e9023fed7925f903/loro-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb9c4bed00006ae19cc468b8f13b2f9639203d2425411949d6e372841d0e7ac2", size = 2965619, upload_time = "2025-05-15T00:19:49.949Z" }, - { url = "https://files.pythonhosted.org/packages/08/af/d5e26c146996ddb9b7360f27b2570e1910aa0e37c7e5bd4fd238ac38428e/loro-1.5.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:af4a0fd903523d7be9bf248b5eb572cff21b98cfd08eb87a145a891ad77616db", size = 3046490, upload_time = "2025-05-15T00:20:20.12Z" }, - { url = "https://files.pythonhosted.org/packages/42/33/a723c978be8fa0005e3ccb0a96824bd4fe4874e9d03a08c2fb24f5c03f13/loro-1.5.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b80fe509a566388e04813bfa99baff9a8026da8f3fcb639500ee21c795dbcefd", size = 3278208, upload_time = "2025-05-15T00:20:47.2Z" }, - { url = "https://files.pythonhosted.org/packages/49/ce/f2669e5af13524fbb9c89aad536d11446a339574b0598adf0191bd640aba/loro-1.5.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6dd4373dc6e5727b7666e44c6c5b1c705bb2a0dbedaaccf4a81580fc1910ba17", size = 3799882, upload_time = "2025-05-15T00:21:15.274Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e5/7dbb63a7b53adf44e8b447c5f40e0116501035f587bdaf8feb9fc49b0bc3/loro-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff9be94c9704a0a7fd25f2ae00e4e37c26d4127ee12a3fe52bcc03d1e4584b67", size = 3104741, upload_time = "2025-05-15T00:22:04.141Z" }, - { url = "https://files.pythonhosted.org/packages/0a/48/fc11057467f84f84414b081de62e45d31c1029ed00254d1b90d1399a5233/loro-1.5.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b273de2c99f5a9cab143b1a25dc6c5e922e569497d126a4729ff8be88c7ccdfc", size = 3364304, upload_time = "2025-05-15T00:21:42.439Z" }, - { url = "https://files.pythonhosted.org/packages/9e/af/0edf2aad989b3d11585bc47289e22e4f0bfd7961ac4dbb121f8d54854f4d/loro-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a93ca575941c88c44a36e5b70079cfb300a4c9233cb94a2da73f385fbd1b442a", size = 3119348, upload_time = "2025-05-15T00:22:50.176Z" }, - { url = "https://files.pythonhosted.org/packages/b1/99/17870634a89beca680c952fc6e4cf1866da7e54729044502f4d2e58086b3/loro-1.5.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:122cebb72c9e83ffa94623a2b8017d4e7c49da9e04b56c6acd008e9af88707d3", size = 3311880, upload_time = "2025-05-15T00:23:16.326Z" }, - { url = "https://files.pythonhosted.org/packages/87/4b/55ec796fa81c2db75b15f7a61e44ce1ab4319e0b93fd77f6bbb3bd681c52/loro-1.5.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:758587fc262475afad8792add3f9c4b855bc44bcc79b2eeadb718ff68600c810", size = 3366918, upload_time = "2025-05-15T00:23:46.914Z" }, - { url = "https://files.pythonhosted.org/packages/c3/a0/5a690fd20822522841ed4e314f3a5a00e4cde2c4b9989e11c4d0ace31333/loro-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e6e38d4143fd2e3e1ec299f9c764aa3786328b08c4c467a4cd10dcc626b38f2", size = 3270241, upload_time = "2025-05-15T00:24:13.818Z" }, - { url = "https://files.pythonhosted.org/packages/6b/42/5097c347e72e3e9a2f8d4cd2dede9928e4271c56dbe8b9701275461c3234/loro-1.5.1-cp313-cp313-win32.whl", hash = "sha256:d4730cd9489040176eabcc2d2d5d6333b9db280c1b8f563b51f34c242863c010", size = 2466351, upload_time = "2025-05-15T00:24:57.113Z" }, - { url = "https://files.pythonhosted.org/packages/5f/ec/3c0fce5a87b4e840ee26108129670b9335cac4fdbfd1b7b53bc7f7bd3b6a/loro-1.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:f3381acb0132e856bd0000623d63718fda0168287cff726e57dfd8074991d2d5", size = 2628456, upload_time = "2025-05-15T00:24:41.656Z" }, - { url = "https://files.pythonhosted.org/packages/a9/88/643122473ec5ca39b62fc7583cd5b0b1100056435314bc454699b35069e7/loro-1.5.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7462bfadd8e51268d60429ca44717714e5f1430ef2be79adc87e84a5206158a3", size = 2965004, upload_time = "2025-05-15T00:19:51.604Z" }, - { url = "https://files.pythonhosted.org/packages/cc/1c/163d50dbbabdcca1772f77c089c72e2ada6318ec28aa8a06f3334a26d319/loro-1.5.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:33897717216c44137dac67e00c5be1a57631c722aa0cd7b0c19831562e6a74fa", size = 3043720, upload_time = "2025-05-15T00:20:21.676Z" }, - { url = "https://files.pythonhosted.org/packages/41/79/37ff3af1795bf84eb418878595ef3163d494d2fcb8272fd575e3a614266e/loro-1.5.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b7ecf076f5ffcf2a69d6cb14c77cb8035e4c2c687e7934b3d192fbba8f4f15e", size = 3275171, upload_time = "2025-05-15T00:20:48.965Z" }, - { url = "https://files.pythonhosted.org/packages/11/b7/47a84f4041306c31211a2e4fd266820fcd7091ff3451e6c381411c4b763a/loro-1.5.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3d35bdb2cb315f339d146b55a2daba6d892bb91bbb46eea8dcff4e633c3d3c2", size = 3792486, upload_time = "2025-05-15T00:21:16.642Z" }, - { url = "https://files.pythonhosted.org/packages/0e/14/97cbdcae7e079617b71702d0d47c51624fa6a573fc2b3cd4e242ffd6f743/loro-1.5.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b5b47bb658e8fde2e65d36c8fb03da2afe02e7db60e81548a2ccf4c7adf161e2", size = 3118535, upload_time = "2025-05-15T00:22:51.433Z" }, - { url = "https://files.pythonhosted.org/packages/4b/37/e17d4a9f6307db3d3aa05450ac88b0bf29980dcf59477f7a0a6c8683e4ba/loro-1.5.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:d8c497be06dd54c9520830bd1e8bb9b68c4f0ba0f735485a9a1281cb78d82d29", size = 3307450, upload_time = "2025-05-15T00:23:17.666Z" }, - { url = "https://files.pythonhosted.org/packages/bc/5f/4597b1b12d4ea378eba10683d2e157bdcd917482a92a7321877aa1236683/loro-1.5.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:5eb4fbe5bef38379372ddc1874f8aec8ef885274de800f770aa60988010ce588", size = 3369861, upload_time = "2025-05-15T00:23:48.24Z" }, - { url = "https://files.pythonhosted.org/packages/62/42/4a75638ed05156a185a89b705c01a76fefa01d2ca6690366b092ad5e93d9/loro-1.5.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9489cdcfa887fabfc18e5aeb0e89098d5c908ab41ccf4cdc51f434effd741b10", size = 3265428, upload_time = "2025-05-15T00:24:15.488Z" }, - { url = "https://files.pythonhosted.org/packages/3d/07/bc484033eb87560e353b0a697f6ca2de17adf3cfb63418bd33f0cb85e4d9/loro-1.5.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5e67f3c5f636b87eedd4dba74333e0bfd4f3c184723f3a969c52562fe082fd45", size = 2976831, upload_time = "2025-05-15T00:22:44.417Z" }, - { url = "https://files.pythonhosted.org/packages/f7/4e/548c5c1d986bcd70e1708c5afc2a9cc8407842184324c9d1a3768182e2d1/loro-1.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:14a29a42d5927f5390c3db34acfb6242c0567f5cfe2e06d20fda9a17b66e6611", size = 2765520, upload_time = "2025-05-15T00:22:31.818Z" }, - { url = "https://files.pythonhosted.org/packages/4b/9a/6ba556462dd640e49fab78a3ba3f3819b536302105b1d94e7217eeddc407/loro-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e19937c9396f1e96ecc4ae37fec7e447eb9a854260728d6efc8564f799cc5f2", size = 2967695, upload_time = "2025-05-15T00:19:54.437Z" }, - { url = "https://files.pythonhosted.org/packages/3f/a9/8f2ada76cb06c861c0eca0a95970caf21f4fbb0ce1937627287f66b8a645/loro-1.5.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9f0b1a4cd449eecca2188915eea634d74652426611db16efcf3cf8374c966dc9", size = 3046020, upload_time = "2025-05-15T00:20:25.172Z" }, - { url = "https://files.pythonhosted.org/packages/fa/a8/e5d1749e7bd1e376f9108988c1a6d2498fe9912f22578cee58e81ea0873a/loro-1.5.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:745153b5119ed6a4ce95b3efe70fd138607387f82f6c49bbbb1eee8219b82755", size = 3275687, upload_time = "2025-05-15T00:20:52.252Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ec/1d354a559f54a88d776ad714f05ed267d0c7972e71a93bdf3df2b9e6e9a2/loro-1.5.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c3236a2930e20ae265d1c22cb42e447edffe67847125b313cadd0fc08902fe", size = 3805761, upload_time = "2025-05-15T00:21:20.109Z" }, - { url = "https://files.pythonhosted.org/packages/7a/ba/afdfb96ce2f194489b33321ddfd775930c2a890ff52e8fc4585cb374bb1f/loro-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67d53a40341b6d3d75a2b90940b06a145456ab78164cea11848bc3fbd83f15a7", size = 3104769, upload_time = "2025-05-15T00:22:07.036Z" }, - { url = "https://files.pythonhosted.org/packages/c0/4c/06a2589ff0690bdf2c9af74dcf30ea3d2b316a1f153117aa6b90e078b038/loro-1.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13e204a60a29e052103729f0fd33296b1a3f313fb9e559220c8801e599e30ab9", size = 3364758, upload_time = "2025-05-15T00:21:45.402Z" }, - { url = "https://files.pythonhosted.org/packages/d4/95/9b496d832eb53945d6061f66983cd1160b755ae0b080da83a782b24b46e8/loro-1.5.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1cafc5bd377e05f38187d67556ed2b74f27ccbf5a941998f5e8700095d6fd107", size = 3121575, upload_time = "2025-05-15T00:22:54.096Z" }, - { url = "https://files.pythonhosted.org/packages/50/33/1eaf5cac61a14b4c3a912d2cfb880e7ed427faa797248820580577cd37d1/loro-1.5.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:21dc7639d8145a6152a0780138001d26c16a81b4d9cdfa4ca7157f0a4ca32236", size = 3309698, upload_time = "2025-05-15T00:23:20.291Z" }, - { url = "https://files.pythonhosted.org/packages/66/e4/2cf991fc50123405fb5a0620573aa09228d07c123dd82661acccb940d108/loro-1.5.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a396990138f31e48ae0771e715b4e998bf06e02c8b0b650f81b0610b822ca959", size = 3368132, upload_time = "2025-05-15T00:23:51.207Z" }, - { url = "https://files.pythonhosted.org/packages/e0/cb/845310d92de9374bf00fbe95e8a868660ff965c720311b56587af4d35fbc/loro-1.5.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:749952c70c40bfddef24e787c23e706bee374c3d580eb8a961526e8803f70bfd", size = 3270987, upload_time = "2025-05-15T00:24:18.469Z" }, - { url = "https://files.pythonhosted.org/packages/61/50/491b1831a46934944b72a4d44f6af16e30c241b64f0f756d917e978e7029/loro-1.5.1-cp39-cp39-win32.whl", hash = "sha256:1907a043533f03bf920f3ad4d2ddc6613ce21423ade670ecce436a01cec8f520", size = 2470894, upload_time = "2025-05-15T00:24:59.89Z" }, - { url = "https://files.pythonhosted.org/packages/b2/f4/54acdf85867ad37977b55fd6d0745d1cbac22ea5b58e7fa09a88c69a6473/loro-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:608030c2dd140e1dd6e1cfb9e79100462728a64c4df1405f725eb6fd5ff4a04a", size = 2621682, upload_time = "2025-05-15T00:24:45.159Z" }, - { url = "https://files.pythonhosted.org/packages/21/ad/2eccf5aca4047cfc21ae48eac136325115724a28b2a8a907b67c3b8c34fa/loro-1.5.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9257776700e78378e05edc7d00535da7fec6ece928a1e14ee554b9544607f134", size = 2964255, upload_time = "2025-05-15T00:19:56.073Z" }, - { url = "https://files.pythonhosted.org/packages/83/03/15b2922497e980bd251c3d3ee8f1b02017f05128160d659db53271175b64/loro-1.5.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a32f1824b279e9837cfb80c895062f1427633911ec8f602c97ca6cac21d60cb6", size = 3036687, upload_time = "2025-05-15T00:20:26.752Z" }, - { url = "https://files.pythonhosted.org/packages/d4/6b/3eb18c2455118a526fda9c14cf31aeaf040d7bbb7fecba0e929ce3d83f95/loro-1.5.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:531dfdc18ef1de75fc8c0d461099ea2286ae18ca57e6251b1f05669a04c76cbd", size = 3271297, upload_time = "2025-05-15T00:20:53.482Z" }, - { url = "https://files.pythonhosted.org/packages/93/11/e2b33bd1bff29ef1a0e366fde99169f6894de8df47465fb9f3f57db15cec/loro-1.5.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c979f72e10f412a56433c3a243fb3aab9ac5f0b8a0c976465e442675e77faaf", size = 3801765, upload_time = "2025-05-15T00:21:21.562Z" }, - { url = "https://files.pythonhosted.org/packages/ec/b8/ea7b173cb2b3be8d280579f867cd5c2530024e594f1d240d2099412893b2/loro-1.5.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:385f479becd198031bd2193089fad5787191d89917a879f9f5191d5936f8f25d", size = 3101863, upload_time = "2025-05-15T00:22:08.37Z" }, - { url = "https://files.pythonhosted.org/packages/2f/ae/bdfb196f5916dbc7c62d108f4fa310d205406e3fa68b058ab1a69b8565c0/loro-1.5.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8340b28d813ee64263b0bcc0978dbad4f374ba3bbb3d56d40f58f9439fd0a5d0", size = 3362117, upload_time = "2025-05-15T00:21:46.785Z" }, - { url = "https://files.pythonhosted.org/packages/e6/62/28ef3ad935a061f1fe1a4b307e55a49527a28c24fb30de103bf6d9f04f49/loro-1.5.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f29dbfefd8173053bedcb951c759511c49211d0b9d8f3ca4758d45fbc6740b64", size = 3119252, upload_time = "2025-05-15T00:22:55.403Z" }, - { url = "https://files.pythonhosted.org/packages/30/34/3811222c1c29bdf9c5e4f3b64ed094f70fac4e1cea148f05fad6907c6850/loro-1.5.1-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:6da96cc1b33370d9fbe3ddbeff4c511895d8c00b6aa6bc1399125ebe272ff2ea", size = 3299809, upload_time = "2025-05-15T00:23:21.608Z" }, - { url = "https://files.pythonhosted.org/packages/c6/d1/679ebd87c797411e28b016b47c14d2443dc7f39c3fda5680877f956d87be/loro-1.5.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:33a1ca233c70b2919360e2c36774f13d67737492e92f9959d1155aafb96a34f7", size = 3365625, upload_time = "2025-05-15T00:23:52.607Z" }, - { url = "https://files.pythonhosted.org/packages/c6/48/94763c2429f4f1e84ded415f35ea30d31f677243cee5af3c13b3871550d1/loro-1.5.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:a251705d803bd7c3795e3dc4e8f4d9c7e6378094ba3af23126d02585cfb094d6", size = 3267670, upload_time = "2025-05-15T00:24:19.876Z" }, - { url = "https://files.pythonhosted.org/packages/24/0b/b4344f2af1bd4fb98305413fe2bfa77f8b4e94a0862bb14e58863c049e92/loro-1.5.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49ae5e36e16b0b2cc390193a84690cc729a3ba3b24df739e035bb1eb52d68c7b", size = 2964328, upload_time = "2025-05-15T00:19:57.747Z" }, - { url = "https://files.pythonhosted.org/packages/5b/56/306cc2d6159584a44dd6695211fe7b9b645e7c00e3f865f9f2506a942c77/loro-1.5.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fdbe5d461276b942fc1d6d3c175cc88e86e6f4416ada25278d5a409a749e3daa", size = 3036584, upload_time = "2025-05-15T00:20:28.406Z" }, - { url = "https://files.pythonhosted.org/packages/63/3b/00e96022cd3cb10030e06a4e42a9c600be6f1bd4037e0b0e785c0aa7e960/loro-1.5.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42c0fc0f6473751805c02125ba1f59dfd40f2f5c685fb000b064cd010cd8470a", size = 3271039, upload_time = "2025-05-15T00:20:54.724Z" }, - { url = "https://files.pythonhosted.org/packages/16/09/0e7df1735de707cc7dffd3dd78fca528a4ab973387e8e81af8a26fa80b31/loro-1.5.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0567e15deabc2d28f2bd5b227a9770b617c841bb7e603679a444ebd6f2938320", size = 3801461, upload_time = "2025-05-15T00:21:22.851Z" }, - { url = "https://files.pythonhosted.org/packages/56/06/5f38025c4b5d07c54e2a81307f1e4d25f5c206bccd83892f6bc72717bf3b/loro-1.5.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e465b621ac3c70bacacd1e44cdd98729443da230777ceae327dd9001021184b", size = 3102032, upload_time = "2025-05-15T00:22:09.951Z" }, - { url = "https://files.pythonhosted.org/packages/3f/06/fe8e3b4471ecd170142656d44a140d31c08425c4b74e701615ff7b822557/loro-1.5.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1970708d6d4aa8eb0b0876c02aa69fe9bb78564faf8e7215c1bcb605ddcd2cb", size = 3362105, upload_time = "2025-05-15T00:21:48.477Z" }, - { url = "https://files.pythonhosted.org/packages/d5/c5/eac36bc2fdb6c0497d5264b9ccbe3e5c2bd6a2a6a6b89283960c0ace26fc/loro-1.5.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:773c0cdb4c3f58696d31aa5484e02864e59b7e8e1709269047f5e9bc338e7c66", size = 3119213, upload_time = "2025-05-15T00:22:56.731Z" }, - { url = "https://files.pythonhosted.org/packages/39/33/e439f5b1a52e52134da2b937d2c86f5961fec20e9e2326acc55f543b9095/loro-1.5.1-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:ae36129261cd82dc1a77c878fb98ae0001812b5750c480bb4b94d45a3eb90950", size = 3300394, upload_time = "2025-05-15T00:23:22.876Z" }, - { url = "https://files.pythonhosted.org/packages/20/32/008e872fe82f2629869bc5046d3ab320caf0b5a7b8c2e904bed89bcb4b6c/loro-1.5.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:d9856f7a3937e65ef6983d879df5ef1a8a3cf2c19af099f17fcc26488e1e8900", size = 3365908, upload_time = "2025-05-15T00:23:54.099Z" }, - { url = "https://files.pythonhosted.org/packages/7b/0d/c768e06894809680999653c1b8ef31f242395d784142f3dcec82c944f609/loro-1.5.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d8d32f1ea9ccef4b0bf6d65f86de175bc0f81c1d346031446e40a0852309a0d5", size = 3267611, upload_time = "2025-05-15T00:24:21.244Z" }, - { url = "https://files.pythonhosted.org/packages/22/af/78f950497e71aa864eedbbcef8c84739386638a6adc62b8e6a25e31fb8fe/loro-1.5.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076592e7aa6c1725feff5c09d71d7df7148f80336af8d5f737c6dffaec9422ae", size = 2965994, upload_time = "2025-05-15T00:19:59.362Z" }, - { url = "https://files.pythonhosted.org/packages/6e/02/f18c633492133b973f0d4a8d9ab9e037673610ac7dab778b0507b911edac/loro-1.5.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77311b4a902bb51d0f28d3b476e4db6a5dbda6d54f8ed2dac7ad36c521265166", size = 3037145, upload_time = "2025-05-15T00:20:29.603Z" }, - { url = "https://files.pythonhosted.org/packages/51/76/92997f074fa1c58a4f7dc94ab791566ece8b6adfa0b399658400f80ce6b9/loro-1.5.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21aab18eb9685b38dd38b32fa3ee541a60829b4df32467bbcb12820d62e55137", size = 3273146, upload_time = "2025-05-15T00:20:56.396Z" }, - { url = "https://files.pythonhosted.org/packages/32/06/8794e45d4c63d01d04193923014e13dfea4b3d20e2f6a905e6a154cbd704/loro-1.5.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:021254cca100538da2f4de91a40aecd363d3559aab5fbe210799a60d09c40b5a", size = 3803067, upload_time = "2025-05-15T00:21:24.384Z" }, - { url = "https://files.pythonhosted.org/packages/3c/e0/61b1ebdcff88864a1dc4171b4081d4985d09a0e1f94883fe99646ae808b9/loro-1.5.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8f4a1720a4c76aaa71e3f91136fa01ff2009a689f980e399e00e79378ba3bdc1", size = 3120634, upload_time = "2025-05-15T00:22:58.087Z" }, - { url = "https://files.pythonhosted.org/packages/cf/2b/d2edfdc4cde22ece99b3fdb5678c6d2971101a41a33529f61492b0e8471e/loro-1.5.1-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:1c777d7999302f958f1aa4ad5d0ecfe62981d1856471ce32f4aef888dd8fda70", size = 3300917, upload_time = "2025-05-15T00:23:26.519Z" }, - { url = "https://files.pythonhosted.org/packages/41/44/23abfc4e22c3f506500b021f610d85f1ac61e9b09a92af3c845b587f548b/loro-1.5.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:ecf3e74e7e6b5049042b92a1f9e2b00b0c18903915d98d9b6843cf63a97c8459", size = 3366553, upload_time = "2025-05-15T00:23:55.595Z" }, - { url = "https://files.pythonhosted.org/packages/e6/90/a2f877c270bc5d81c599b666b88790602666da05d007990f2910fe0f559b/loro-1.5.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:74f4fcac827d14800a606151e31479d27d10a6e32c50300d47310288e3a212db", size = 3270443, upload_time = "2025-05-15T00:24:22.574Z" }, +version = "1.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a0/32/ce94b1fc342ac90d9ca21bc6e90c727990734a75505cb893b2a71a364faf/loro-1.5.2.tar.gz", hash = "sha256:70e52acb16474f7c1e52aea2a7fe2771516f1e9f73d4edfe40f3193b122402c7", size = 62538, upload_time = "2025-06-23T10:16:47.156Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/9d/54cccbc10c36db9025d3d39e0d1380b6637df7b8a49a70358419c5ad6758/loro-1.5.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:108fe4176203928890d4e8bad5faaa44521e79b8666aa6a2f3a25c56d2d910bd", size = 3114570, upload_time = "2025-06-23T10:12:30.881Z" }, + { url = "https://files.pythonhosted.org/packages/16/99/f9d0a9f7480f7269e9bbeb1f79da1b2b163a966534a32367f6d9adab8851/loro-1.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0d30704e1ffad3b3dbdff522ea86ea10c20d654940f574d5be2246db25dc7c7b", size = 2900389, upload_time = "2025-06-23T10:12:08.856Z" }, + { url = "https://files.pythonhosted.org/packages/37/79/cdbaafb6b34edd5197da0c04b9e8f7c04d0445b8888bc90c08c68e8790e7/loro-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5e9641565209e90bdcb6c1eb8d471869ca270d32efb6bf639b6bffd7fb58b75", size = 3109338, upload_time = "2025-06-23T10:06:39.629Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2f/c8ac0455f139ab399fd452a6ed1ecf0056297a81768cbe6f152e5edeeee9/loro-1.5.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cae556cef59ea46a2879ec256ea963aebbc779b3b7cfa9bf3b5aa0c98085faca", size = 3197843, upload_time = "2025-06-23T10:07:38.265Z" }, + { url = "https://files.pythonhosted.org/packages/67/b4/7e78fa33872f371e0a1c93de09db084cafbf4efbd302ad13598787811367/loro-1.5.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:273db89e1cb811426ceee630b3b2ee6474d48a3924bf41e08c801ffe168e440b", size = 3578419, upload_time = "2025-06-23T10:08:38.326Z" }, + { url = "https://files.pythonhosted.org/packages/28/c7/1550ca06c2150bb87e9d0bf1a477e08a26d4456b73a6d994667224779002/loro-1.5.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d180bd19226f67f26b5153a8ee0a03b0fd6e8beac31ab7cbfa35604076e82de0", size = 3309830, upload_time = "2025-06-23T10:09:37.192Z" }, + { url = "https://files.pythonhosted.org/packages/c5/97/0545cec8af3a0711f45f622d41cb02c2d4e3581bf8d4c8a7a1dec78f4777/loro-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb38f732588803956e4ba81a2cbeb70b32b36f104db04b933c28466d485d582", size = 3240511, upload_time = "2025-06-23T10:11:22.361Z" }, + { url = "https://files.pythonhosted.org/packages/b1/99/d7af69973e7a95c5420704dc7f37a1d515d47fa35d956af766244c9ed14b/loro-1.5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ad643f022d6855d32d358f79dff8b3af67360e7d6691f01f8570b43d8dfaa61", size = 3507246, upload_time = "2025-06-23T10:10:35.135Z" }, + { url = "https://files.pythonhosted.org/packages/21/d3/da754f56cc28664e34bc75e3b4dde75207fc2c609417d293d8ebf5d3fe1c/loro-1.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd1130e2c6863725fa10e8cd0e377a413d35bcafe3ff8d055331f0ced4f2834", size = 3256139, upload_time = "2025-06-23T10:12:53.944Z" }, + { url = "https://files.pythonhosted.org/packages/84/c4/46116660ffbb2b0c7ab4bdc3cfbaf9b2841359c4a03bc9094d989665bf21/loro-1.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:dd2dd5d8c1f77c561fc4520c9eabc00a6760d75b2fbb80bc37983e6bd705f683", size = 3460544, upload_time = "2025-06-23T10:13:52.005Z" }, + { url = "https://files.pythonhosted.org/packages/2e/7d/39cc3342e76fe2be7a549e61b58bef3b3d72974f294359611f9261536c4c/loro-1.5.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:de032f1ad185e95f782b4f717e8a67832f0592ecb60453887aeb097bf15450aa", size = 3501377, upload_time = "2025-06-23T10:14:49.692Z" }, + { url = "https://files.pythonhosted.org/packages/28/f0/76994ab6d8258c73bb2559c3982baaa490ca3b6e45b96345413c26a1aa16/loro-1.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7928022d99e8f6869d790753ad7989a89d514d399097c03229c1f3850d423d27", size = 3410561, upload_time = "2025-06-23T10:15:48.363Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ff/dcea4e3ce514b630374f119af6fae228e601860dd396ed84775dbaed879f/loro-1.5.2-cp310-cp310-win32.whl", hash = "sha256:7357e7dddab1a63ab25462d6ca168b36d1bc88e66fd8bbd855c01c2d3d805cc5", size = 2579501, upload_time = "2025-06-23T10:17:19.838Z" }, + { url = "https://files.pythonhosted.org/packages/eb/7a/6dfe0352113d48ed35adee159792d90ea0c2618b94be7f7a5b8b8020648d/loro-1.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:a902ba6b84fe691d6e106a99cf1a4b3317e0c62db93b7bebf6ef6aa70f8d7b3c", size = 2747841, upload_time = "2025-06-23T10:16:48.66Z" }, + { url = "https://files.pythonhosted.org/packages/3c/6e/58dc9046e74428ecc24adaae0f14d5553f1dd300ee6f6c30fcc19e98297b/loro-1.5.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:879bcd0995c584879bd41046f37aa3065cb1b6f0453f2e0784b3d034a3862fcd", size = 3114522, upload_time = "2025-06-23T10:12:32.659Z" }, + { url = "https://files.pythonhosted.org/packages/cd/68/28cca36b6eaeba6042bcbe54f55c5f4619e4fa075fd5bf8f86a7b43d0e7e/loro-1.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:137c92b1e115400967ccc7c1fed142ec09daa06c2c00ea7df438e09066576f1b", size = 2900452, upload_time = "2025-06-23T10:12:10.506Z" }, + { url = "https://files.pythonhosted.org/packages/91/2c/10cfb49d80f27d57f4a4bc37ad7c34849ceb9a86657f70e2d951cf749a24/loro-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:548b7a8a1dd3ccadb20d4287300ebaffb2a6e2fa14b6c40e4a5310b60f813fd1", size = 3109168, upload_time = "2025-06-23T10:06:41.86Z" }, + { url = "https://files.pythonhosted.org/packages/74/00/1e7431ff79f3f119c20a11cc2bc97f4b3e3c623bc45b0fdc497056e37c79/loro-1.5.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7784c561693a14ae4b73b4b9b446626eb8d70fc684896f653be1b73a4db20d2d", size = 3197119, upload_time = "2025-06-23T10:07:41.702Z" }, + { url = "https://files.pythonhosted.org/packages/fc/db/68c9968fd1da730473d10fd20eecbc13d86b0d7c7998ad890dc504aec3f8/loro-1.5.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:58d4a2c6faa4a406d783620c1ca2d9d495cb278113d75874be8a781baacb1ddf", size = 3578478, upload_time = "2025-06-23T10:08:40.059Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f9/2aec20d537d60ed88c04d5aea3496e69ebb9ba8306e1cc0d43f6df7ba400/loro-1.5.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b50d1dfccac2c64b70802e9f6cfc818b46878d8eefe4801ab5e8ce3c494147c", size = 3309722, upload_time = "2025-06-23T10:09:39.488Z" }, + { url = "https://files.pythonhosted.org/packages/9d/92/181904feddd692c29d34741c1bf210c5bf3bf1a5feef9fb7a72b0b215ed9/loro-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72e5e70a1300d144d5478e3bd8c46051f544120b191c9998566eb70311bbbcc3", size = 3240426, upload_time = "2025-06-23T10:11:24.56Z" }, + { url = "https://files.pythonhosted.org/packages/48/84/81a4c52e3860d5ca20b058c768a57003aba01b29bc0edcc60391a5b0d86b/loro-1.5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df8083040cc1c3192b33f00ee68833cbfb92b20c04fa7e3ffcc943bc1f3277f5", size = 3507390, upload_time = "2025-06-23T10:10:36.803Z" }, + { url = "https://files.pythonhosted.org/packages/77/4d/f941a996f805a5d4a6f44f6cb2c9c6aa18ee11e9d6bfbc09e85e083b4424/loro-1.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0812d3708297bdd24ecaa8e1623994ad316a1e600381535a9e64ab3226064dc4", size = 3256120, upload_time = "2025-06-23T10:12:55.771Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ff/a2a10ba244bacf0e34372e106ad5554530d72215e03280446ae49fa9566b/loro-1.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f533f9241119fd562bd769266bff34f19594acd8dcbc77a2aae877b95b8d9fb0", size = 3460012, upload_time = "2025-06-23T10:13:54.109Z" }, + { url = "https://files.pythonhosted.org/packages/86/18/f2d782ebf47ae5febd3740692349f754fd3a3fd3d49afc0a82c1d21b93c1/loro-1.5.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:19f7acc70c78826508e16760416908056307578bfc004de0d9afa354d582d8a1", size = 3501672, upload_time = "2025-06-23T10:14:51.455Z" }, + { url = "https://files.pythonhosted.org/packages/b9/e4/bed532c08ec636e822b6793b7cb387bda35f5e9dcbc29c9efcfa0049de7d/loro-1.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:227aa90d3bdd00deb9e821790e477a8b2896d254f48d7126421334a5be762b18", size = 3410797, upload_time = "2025-06-23T10:15:50.131Z" }, + { url = "https://files.pythonhosted.org/packages/f1/2f/6fb690b399c5028c1c4a7c4750549109fc21dd4161722b48874923ae305c/loro-1.5.2-cp311-cp311-win32.whl", hash = "sha256:25a17baf9adab44b5e0635873028af7418dec20fc320c62ce5d3660635201ef6", size = 2580099, upload_time = "2025-06-23T10:17:21.541Z" }, + { url = "https://files.pythonhosted.org/packages/0d/6b/2772f07a9deffe708a8091d13a8fe281b056f0f4c9accff87879a93a5680/loro-1.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:6ee6c1093152b67f8d6098571db63c3a53aee117b7d67ba289c3504d7bf7337f", size = 2747812, upload_time = "2025-06-23T10:16:50.598Z" }, + { url = "https://files.pythonhosted.org/packages/65/99/da0f0619c47404b202d1d01ec8cf137fad28f042dd2d580c6c23feee7948/loro-1.5.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d2029f53e0ecd27606a23d6ad7bd67ead8b8ee198dcb6047a74afbf3ddd032fb", size = 3098906, upload_time = "2025-06-23T10:12:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/80/14/7ac37a8c320e6ad4212d0a983fdd934cbeb061b835c379c2b4a843837f75/loro-1.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89bb0d461d53b9fe45a698a83093f1411118b7c5a1ab4ff9029fa7f65b595f99", size = 2882304, upload_time = "2025-06-23T10:12:12.27Z" }, + { url = "https://files.pythonhosted.org/packages/4a/07/eae924bc8c2a16bef8783698de5a15cb1a10d4d2d459142ed9ce3e265249/loro-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a4325b0d4e6cedc5a3fb747b3300deeda1422b0d374d436395252398ebc59fc", size = 3110983, upload_time = "2025-06-23T10:06:43.895Z" }, + { url = "https://files.pythonhosted.org/packages/72/3d/f2de0cbf8de96e7a195c00cb9ef6df7b3d5ad44de34f9635a3494a5c4dba/loro-1.5.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7e85775c4a2d58ec4e416f89efcdd4fd9f54f4b06bf8a08f739c1eebb58a976e", size = 3203197, upload_time = "2025-06-23T10:07:43.591Z" }, + { url = "https://files.pythonhosted.org/packages/3d/55/a217e8159ade33234b099ba7268312254cfb4e70ebd2f192962a5643e1d4/loro-1.5.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:babea799d98e32779d05a6296d1ee1b0722816590ed486c5e41ebf7149349b80", size = 3581496, upload_time = "2025-06-23T10:08:42.312Z" }, + { url = "https://files.pythonhosted.org/packages/1c/59/ae4ea0b3508e43d10f53b4a6f9820b5934df0d83cdd10c59970e0c353515/loro-1.5.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c0383bc8413f74696fc6e93ca07df7e60ac1bdfa79a117935b8db65aba31078", size = 3319790, upload_time = "2025-06-23T10:09:41.601Z" }, + { url = "https://files.pythonhosted.org/packages/55/ad/5ec1019094d1a2a431402dd0cbf438f35f7994913b6ff93790428ac862aa/loro-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9074f3ee314edf3aa074fb16bb78d880324c00b36991b2250ec3f8556e07830c", size = 3244562, upload_time = "2025-06-23T10:11:26.638Z" }, + { url = "https://files.pythonhosted.org/packages/be/e6/d242caee915de24c0dd11eb53e5d2930c5a3a5b0aaaf4265174eec8bb40d/loro-1.5.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f1ba327a35e05f7f9845606f504def3f68422c0f4b800c3e8ccc72551524cbc6", size = 3511329, upload_time = "2025-06-23T10:10:39.595Z" }, + { url = "https://files.pythonhosted.org/packages/25/32/a8fc357bb229e8786e30356dbedb79d8ff279466c999e6ffed127bca757a/loro-1.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e33c3d3a68c77a159e35aff659a7f5486f80be22b100708cf5a2d4d44f9baad", size = 3258089, upload_time = "2025-06-23T10:12:58.045Z" }, + { url = "https://files.pythonhosted.org/packages/0b/05/c41125aea23614548b14cc7860eaa997c92fbabdb3a7aef2ad56e7d1fa86/loro-1.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d4a19a2ca0f3bdfe082ab9b2c80c41ea88cf15d00cec3f691783c01a2d042253", size = 3465736, upload_time = "2025-06-23T10:13:56.03Z" }, + { url = "https://files.pythonhosted.org/packages/e6/45/20a814b431ee8267da30fc866d1594ceafca4ab8ebf888cd396b41f7ecf1/loro-1.5.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c50c640c82611440045a4a3ae0ca9e768c5f0e08c627ce7dd885d7c029833e4f", size = 3503325, upload_time = "2025-06-23T10:14:54.187Z" }, + { url = "https://files.pythonhosted.org/packages/b3/6b/bd6853b2a4f664f668e1846c806d589bb869afac8a39157cacd354f157b3/loro-1.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9826bda03cb0b9a956e69576c73693ba94b4c1d2a2e6a759e65ad339d4f608d6", size = 3415236, upload_time = "2025-06-23T10:15:52.039Z" }, + { url = "https://files.pythonhosted.org/packages/84/f5/fbe7e31f269543d28b9f288cfa4de5ef80ee6bf73ff62b184c6512073b9e/loro-1.5.2-cp312-cp312-win32.whl", hash = "sha256:ca2a22bcdf2344c43c69882798ccca7167295d6836586495f9109dcbe195b13b", size = 2581189, upload_time = "2025-06-23T10:17:23.79Z" }, + { url = "https://files.pythonhosted.org/packages/ad/85/ad05385bb1451f5b64e5bb1818f43fae0f9c48201e4a95768d541c04bdc3/loro-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:af2bf72f7b9e11f1c075e3abe5b8d9e366af1ebcce29585f050cdf23f24f6c74", size = 2744046, upload_time = "2025-06-23T10:16:52.737Z" }, + { url = "https://files.pythonhosted.org/packages/a4/09/061e8cecb42f99856580811156d7651d5e8172bb840224c7cd2eb94a8730/loro-1.5.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:dbb94c104e3aba4ea3f1118c72896de978e737bb066a35051bf49895e72540a7", size = 3098320, upload_time = "2025-06-23T10:12:36.2Z" }, + { url = "https://files.pythonhosted.org/packages/60/6e/96cb1a78869c8ae91e65d73ef4ee9f74bc16fd3baff5a7463f7702687dab/loro-1.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:847a10f493399f9b650b588b3d81893dfaa1e45e7091881268094f2b9f7df38b", size = 2882026, upload_time = "2025-06-23T10:12:14.078Z" }, + { url = "https://files.pythonhosted.org/packages/eb/e7/2a131e3e8072614af1cc2970efc1c30a812eb8b0f5286c7b6b390ae3fc9f/loro-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902215b77b35e58286d907e8292f78b014cd9c55a46bc5deb944f555509b7747", size = 3110094, upload_time = "2025-06-23T10:06:45.986Z" }, + { url = "https://files.pythonhosted.org/packages/8c/63/34efc556a5a7663f045d64b9744c10f7b00386f252fac47c939f1c1795be/loro-1.5.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:19e8c9896348063721ef56631d2275c186faf63f6336079c57f41055c9cc1c30", size = 3202938, upload_time = "2025-06-23T10:07:45.751Z" }, + { url = "https://files.pythonhosted.org/packages/67/3f/5a37b5f1bec5d633f469754e26bf0ce77a26f7697cd95d0b4a51b9cd90be/loro-1.5.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91e75cd4b26506bb5b564ed24b433147fc8b77e8779b5736bc4f3bfddf270590", size = 3579945, upload_time = "2025-06-23T10:08:44.774Z" }, + { url = "https://files.pythonhosted.org/packages/78/b3/cd3202d6398524c5e1442688c6825e148eb953aa0de04952fd546c69a398/loro-1.5.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:41e54109599190dede34366476a8f42ae6e9fd7fd439823150e9f70e39d7d54e", size = 3318843, upload_time = "2025-06-23T10:09:43.448Z" }, + { url = "https://files.pythonhosted.org/packages/a5/65/8ed127c827ed9b540f5660e9c98265702dbfdd71ad59063bd3c799ca0dda/loro-1.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd3f330795212f24b9dd710f952f7f7138ba86d6159f524025eb4627641ed4ef", size = 3243417, upload_time = "2025-06-23T10:11:28.604Z" }, + { url = "https://files.pythonhosted.org/packages/4e/29/6894f6db7a1eb7d5d2936b658b3a26c4ea8ce6b0563dde024b909a63289d/loro-1.5.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ebdd716ce67c182f71a093c552f9a47428f7a3d93b038780bbb0f06779805d0", size = 3511123, upload_time = "2025-06-23T10:10:41.38Z" }, + { url = "https://files.pythonhosted.org/packages/17/26/230867103d5ec58ef18f8d0bc169a4defb4f865f9969247d4e9c723ae10e/loro-1.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a8ac5ff8b697e9a828fe4387da715d78d0f2afcf23bbd76f5089b4122f5e78a3", size = 3256828, upload_time = "2025-06-23T10:13:00.155Z" }, + { url = "https://files.pythonhosted.org/packages/79/8b/7aed297d9cc236e15674275364e37e938e9335c9dfad49ad35904fa8b1f3/loro-1.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3dce7920c45c9c884246898805b270d63550a5dec61d3f33274010c40127a37c", size = 3464838, upload_time = "2025-06-23T10:13:57.76Z" }, + { url = "https://files.pythonhosted.org/packages/1d/c1/352fd39b61a842dc991bf95aaa75db34b6c353c1a3844da17e01f917deb5/loro-1.5.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:66afec16e22db99f1818906bc7cabda0cb077e0e493882b4c0983a8bc431413d", size = 3502790, upload_time = "2025-06-23T10:14:56.197Z" }, + { url = "https://files.pythonhosted.org/packages/2c/11/859dfc28b1397d731d2cc710dae0e7cb1cbeb45ab70ec518b4ed4f690a4c/loro-1.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9f052715922592f099e9b6553fccb48761c5ad83deefcb0df55effde309eb12d", size = 3414408, upload_time = "2025-06-23T10:15:54.225Z" }, + { url = "https://files.pythonhosted.org/packages/86/3e/fcd87311399e2eff892fb3a6b6f1d3307a2dfd99811fddf0889bee89d585/loro-1.5.2-cp313-cp313-win32.whl", hash = "sha256:978e9f6b0c9ad8c6b1ab70372eafbe00c41782522b216802cf961a81edd27561", size = 2580638, upload_time = "2025-06-23T10:17:25.89Z" }, + { url = "https://files.pythonhosted.org/packages/93/06/dd73ca0865630923f18fa4486e66a171a0a26ae8e7541f1c3d93100f1f5b/loro-1.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:3ecebbf9f5f880c6ca9a1628e5f469d3d67b67c1fd50536c52c5f6eae01be549", size = 2743550, upload_time = "2025-06-23T10:16:54.883Z" }, + { url = "https://files.pythonhosted.org/packages/d2/70/9e5030bb9f1b86520f482605f660e5a192d6f5e56104fee122fe7d3dc72e/loro-1.5.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:354de426d6404cce252fb81be17a1589f1bd47197ba7f730f60fbb52452f49ab", size = 3106619, upload_time = "2025-06-23T10:06:47.811Z" }, + { url = "https://files.pythonhosted.org/packages/2b/37/43c8e3fa8c6239be1b22c0dfd779a4ab000682dddebc23becd057668c436/loro-1.5.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:18e3b6f07483c5553795fea05c8d318f96c018909dd390c68b81701afb12cac3", size = 3195270, upload_time = "2025-06-23T10:07:49.285Z" }, + { url = "https://files.pythonhosted.org/packages/b1/d6/8aaa433d08710cb1b95781d56efad366350082798463e35b5a6a4988b160/loro-1.5.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2298b96c5f533807373db27dbf5b10c88f1c5d9e0145feb952e7a813a81af645", size = 3575129, upload_time = "2025-06-23T10:08:46.435Z" }, + { url = "https://files.pythonhosted.org/packages/51/4e/44425f11da9b5278653c3ca01cdfd4da850f94ead5843d8134043ac825cf/loro-1.5.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aa8edef791c1b46e19bf86ab17f9dbefc61b8f1fbecc49054d5eb880380d897", size = 3317031, upload_time = "2025-06-23T10:09:45.372Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ae/af1713c7c3cc91a9d6cc1b812733665875eb30c22e4c9e0e213a9a69b1a2/loro-1.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:633c026cbb17c485de40f09aab13362f0c79140913dc67445606e3237092d70f", size = 3251501, upload_time = "2025-06-23T10:13:01.809Z" }, + { url = "https://files.pythonhosted.org/packages/4b/df/958e8abb78ca47ce06e0088bc5d44b5945ffbd08503936cbc0340b62a5f3/loro-1.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:903fed16d40b0373f747ecc398f5b86aaab16c37b4c670f580c2c5301bad4de5", size = 3456858, upload_time = "2025-06-23T10:13:59.614Z" }, + { url = "https://files.pythonhosted.org/packages/f1/f6/982af3432bde075f1fd3201de0e95f35a868f4e85cee36bb22bb0524b069/loro-1.5.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2f9f77b1f582d86e1a57cdb38a43ea1a5861a6f0d73783335c2efdc3d1dcb793", size = 3494470, upload_time = "2025-06-23T10:14:58.001Z" }, + { url = "https://files.pythonhosted.org/packages/47/b3/a4725db48fb4c7637076023ccedf7dcb7f24a3d266208f2e2aafb8179861/loro-1.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:489230b2716c0a2ad50e205670abed029ba0787c028a62dd31226f7935f5d1fd", size = 3410923, upload_time = "2025-06-23T10:15:56.045Z" }, + { url = "https://files.pythonhosted.org/packages/2d/b5/23a933204b6e5951053382ac3b6f6e3dc52f8f1b945876dd6fdc5f530d91/loro-1.5.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e753cd94241ce11baf7261de79a60b5a77131d645b659eaff416e0d060f48aa", size = 3108021, upload_time = "2025-06-23T10:06:53.764Z" }, + { url = "https://files.pythonhosted.org/packages/f6/72/5e49f678b67234bf77e42fbd187062dcc4f628816857c5e8b63580e34d48/loro-1.5.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff2f3ff9281ea47e66280d608a1a1e52280eb10406b1f93ad444b9f31aa4526a", size = 3196682, upload_time = "2025-06-23T10:07:55.367Z" }, + { url = "https://files.pythonhosted.org/packages/9f/26/276a53c686fefb29c104ea72b268a3195ce9887c3b28698f1b07d01f6b0e/loro-1.5.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ce3d1579fdae7b78e218322f74354eadb1f6dde2bc9199081ef198cf0c7b633", size = 3579294, upload_time = "2025-06-23T10:08:52.506Z" }, + { url = "https://files.pythonhosted.org/packages/f0/14/83fb446d31400c89a8b176e97316dd8b24d36ea9a3975ec3f741e853744e/loro-1.5.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:360976232c489a439334b0aeac77c144c16880e20559ee96918828602ca21cd1", size = 3307592, upload_time = "2025-06-23T10:09:51.034Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c7/dcf67b7392bb60cf333d0708d520e9d4c0e06cfd79883d1265221977dada/loro-1.5.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:686bec6ff8f7551abd24e8737e2ade27593cd53ac78dcc23a114de1209cd96dd", size = 3239038, upload_time = "2025-06-23T10:11:34.134Z" }, + { url = "https://files.pythonhosted.org/packages/94/eb/def5f427e1fd95c3fdb54ed68331d4ec03a9f1431df1bc001f888d1819fd/loro-1.5.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:abdc9b65742726332aee6f45b6362f5e3d14d1071fc9c0ed451993ae4e5e316e", size = 3508899, upload_time = "2025-06-23T10:10:47.265Z" }, + { url = "https://files.pythonhosted.org/packages/24/38/350b713356574f6a0807d881556778aed0733c5717af90cd5a2e00af59f8/loro-1.5.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e271ee8dc684fbd8b31832ed791d356700c96049949e4de1b4bb55d97a86ee22", size = 3253703, upload_time = "2025-06-23T10:13:07.541Z" }, + { url = "https://files.pythonhosted.org/packages/4e/23/8f04e1a00d26be6794e31de274742adf50f207c90f78c174d5f00eee49a7/loro-1.5.2-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:36963665844432964c15d1974b8accd1a7676c48d47cefb26c995d424fb037a3", size = 3458579, upload_time = "2025-06-23T10:14:05.23Z" }, + { url = "https://files.pythonhosted.org/packages/90/62/6d31f2f4275d3cc6720fb7266a2bd4a12a1d48da6c2a4b5fe831916e10a2/loro-1.5.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:44c8d2f34a230b9d0c2718dec2e66caa5f66e93f63230203ca59ba69107d3fbb", size = 3502636, upload_time = "2025-06-23T10:15:03.688Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1d/84cdaaa460b912f94782b15aa6268b6fe2c4682432b46b9cc688f686a11d/loro-1.5.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6ec891ddca9dafc5dc4163cdb3c3314303a0db089a21289533c77efce5098e1b", size = 3409744, upload_time = "2025-06-23T10:16:02.051Z" }, + { url = "https://files.pythonhosted.org/packages/6b/21/dac145bf2dd87d5163ef80b5c72a878736ac714bcdbc63f068cf8341ce4b/loro-1.5.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4865b8353a80441864ab6e3df3d64900c253ed903679d80d157227d2b1f2424", size = 3107678, upload_time = "2025-06-23T10:06:55.925Z" }, + { url = "https://files.pythonhosted.org/packages/70/5c/100af6c3a61ccfeb0f9117a641ec43128cdc9b11ac9eb6fa9b7ef99958fb/loro-1.5.2-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5ef2091118d403ca0e85962f32e72af30cc3729eb9afdc6e4b47b74c0ca7ed7", size = 3196928, upload_time = "2025-06-23T10:07:57.222Z" }, + { url = "https://files.pythonhosted.org/packages/34/93/5eb022bb8d335ddb2fa68257079f5f513e2d7975f1c284f87cb6b426da4a/loro-1.5.2-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93fcd163c623a4a78fd6e7b7961578d9e32dbf254969e731617efd72f826c92d", size = 3579185, upload_time = "2025-06-23T10:08:54.31Z" }, + { url = "https://files.pythonhosted.org/packages/b2/29/6036c6d5becd8bcb11630707c9dadca3bd61fb203c1d59add270ce15e104/loro-1.5.2-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c860776b0609982e1c3be889641525ae2b9f5198133bbce921254204d1ac134", size = 3308139, upload_time = "2025-06-23T10:09:52.808Z" }, + { url = "https://files.pythonhosted.org/packages/1c/66/8caf0372a5a43d6cb18440ba2e457cafdfc7424cc709f420d2e89fa80e4b/loro-1.5.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9727a0de4b775b6b1bc19849537befae4ce3f80ee8702e39323f7c955285bf19", size = 3239150, upload_time = "2025-06-23T10:11:36.041Z" }, + { url = "https://files.pythonhosted.org/packages/7c/7f/b3b7dc1686dc2be4440b036c0eadb83c8f2fd7e3894cc23197ea697616cc/loro-1.5.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e2a61b5ee9bded299c05fb439bb5993e86318091935a4005707ef3609170893", size = 3508767, upload_time = "2025-06-23T10:10:49.165Z" }, + { url = "https://files.pythonhosted.org/packages/f2/1b/152a43c1c3e6ee0c17094b5db8d1a0e0101e07d24fce670ff4b2f430c2b5/loro-1.5.2-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d8bba15a1fdaee591e91efcc7fae1e8be222e638f0c8733d5751f097e021ac48", size = 3253425, upload_time = "2025-06-23T10:13:09.328Z" }, + { url = "https://files.pythonhosted.org/packages/27/38/fada1954959780f2e10bbd392e312b1c0026329c2b072d0728b7cdc12d8a/loro-1.5.2-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:9d1a858dca6c0f94adf1796ebf186af9bfe39c0c6d36736cb67595350a611c68", size = 3458652, upload_time = "2025-06-23T10:14:07.157Z" }, + { url = "https://files.pythonhosted.org/packages/c5/5b/637c862027cdfd0a4531df94950c3809d678ff23e4172d7025873e83ca00/loro-1.5.2-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:bde0e464d3748cd13135164cfcb3671d97837d9c396e773c2c97a83377b9a6a7", size = 3502843, upload_time = "2025-06-23T10:15:05.376Z" }, + { url = "https://files.pythonhosted.org/packages/c6/cf/ce291b4473b75c8605e5ca6b8bf4a51783eb3b58339984d4fb3b6e1d3579/loro-1.5.2-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:fce298043f02d5714533dc2aaf653f1e455c817bff46837d3cf25753edb39564", size = 3409680, upload_time = "2025-06-23T10:16:04.174Z" }, ] [[package]] name = "mapclassify" version = "2.8.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] dependencies = [ - { name = "networkx", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pandas" }, - { name = "scikit-learn" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "pandas", marker = "python_full_version < '3.11'" }, + { name = "scikit-learn", marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/b5/3d2baa210db885885f54667cbb90ead5a7e68e74a67519bf1ac32eb1be29/mapclassify-2.8.1.tar.gz", hash = "sha256:306f4cb99ad1ea166b3efd7180c0a199d240bd801de7937327973d829673bc82", size = 4608933, upload_time = "2024-09-24T04:20:02.501Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/e7/e9/d7531a07454927788642373ae253ad6dd8714fec375a789031418ecebf2d/mapclassify-2.8.1-py3-none-any.whl", hash = "sha256:c79ba6ba9e51c16a5c209e824a47c76aa2b6df5773ec8a56a2f3871590d92fb6", size = 59085, upload_time = "2024-09-24T04:20:00.423Z" }, ] +[[package]] +name = "mapclassify" +version = "2.9.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "networkx", version = "3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas", marker = "python_full_version >= '3.11'" }, + { name = "scikit-learn", marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/af/40/f930dd57f640b957fa1067cf427d7a417eb3995e2d5d7b8f6def297d38bf/mapclassify-2.9.0.tar.gz", hash = "sha256:65fa7a7d778ed63496ff860b9f3c26d632d8f289820a6d8556ac527d14b26bd8", size = 5401963, upload_time = "2025-05-28T05:34:39.191Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/fb/101891210f76158963a8bbf5a202d6c3173cc29a4dd75ca19e65ba4549dc/mapclassify-2.9.0-py3-none-any.whl", hash = "sha256:5c2902a6d83ff7a2cd4d8884238c9c111a32470b7a8bde2cf4f62fef8166a497", size = 286652, upload_time = "2025-05-28T05:34:37.85Z" }, +] + [[package]] name = "marimo" -version = "0.13.11" +version = "0.14.7" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "docutils" }, { name = "itsdangerous" }, { name = "jedi" }, @@ -1316,9 +1024,9 @@ dependencies = [ { name = "uvicorn" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/50/b1/178b8090eadb97b561d839c1b8c72f0353a02c522033e7d9736c095608f7/marimo-0.13.11.tar.gz", hash = "sha256:e83090aa51d1e95be0069e482dbb53e208f5232da9c8604c06582a42ce6e1aee", size = 11973323, upload_time = "2025-05-20T20:26:14.201Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/1b/dda71e4f80be021cc399c7b8936cd9fe5c238adcd0f0456a799b7cdf1330/marimo-0.14.7.tar.gz", hash = "sha256:34143f73f6db59a8ed1a8664a6c39af00b1edcb2484802be02068abee7d971db", size = 29126199, upload_time = "2025-06-23T22:31:30.426Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/82/df/894eea912b7715da6879890ca1b994849310738364bc325fb28ef2719541/marimo-0.13.11-py3-none-any.whl", hash = "sha256:b91d1a2508a888488e7ec62fd3a0caefdb45b0347886bf03d426c469c6d93365", size = 12352010, upload_time = "2025-05-20T20:26:10.758Z" }, + { url = "https://files.pythonhosted.org/packages/c3/19/53933ea0c73270249c616ae7ff3cf69e63dbef5a1b69172447300bd18e10/marimo-0.14.7-py3-none-any.whl", hash = "sha256:13d86bfb2c978235ffac090a4c9a9e5dbf7391c3827ddd323a3786863db8a67a", size = 29598531, upload_time = "2025-06-23T22:31:24.65Z" }, ] [package.optional-dependencies] @@ -1334,14 +1042,11 @@ recommended = [ [[package]] name = "markdown" -version = "3.8" +version = "3.8.2" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2f/15/222b423b0b88689c266d9eac4e61396fe2cc53464459d6a37618ac863b24/markdown-3.8.tar.gz", hash = "sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f", size = 360906, upload_time = "2025-04-11T14:42:50.928Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/c2/4ab49206c17f75cb08d6311171f2d65798988db4360c4d1485bd0eedd67c/markdown-3.8.2.tar.gz", hash = "sha256:247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45", size = 362071, upload_time = "2025-06-19T17:12:44.483Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/3f/afe76f8e2246ffbc867440cbcf90525264df0e658f8a5ca1f872b3f6192a/markdown-3.8-py3-none-any.whl", hash = "sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc", size = 106210, upload_time = "2025-04-11T14:42:49.178Z" }, + { url = "https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl", hash = "sha256:5c83764dbd4e00bdd94d85a19b8d55ccca20fe35b2e678a1422b380324dd5f24", size = 106827, upload_time = "2025-06-19T17:12:42.994Z" }, ] [[package]] @@ -1358,11 +1063,11 @@ wheels = [ [[package]] name = "marko" -version = "2.1.3" +version = "2.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/e7/b50627a7321668d0c30b193aa494fb59526548ff3e61d376a93ffbb692f0/marko-2.1.3.tar.gz", hash = "sha256:31aacb14867328f054cc39f884212907822a43d6a30cd75b0767e001a5e2f9fc", size = 142700, upload_time = "2025-04-04T23:49:48.681Z" } +sdist = { url = "https://files.pythonhosted.org/packages/72/dc/c8cadbd83de1b38d95a48568b445a5553005ebdd32e00a333ca940113db4/marko-2.1.4.tar.gz", hash = "sha256:dd7d66f3706732bf8f994790e674649a4fd0a6c67f16b80246f30de8e16a1eac", size = 142795, upload_time = "2025-06-13T03:25:50.857Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/43/c82e8f528887cec56f5afa9152c921b01f98deeffaf9e1bcc3e54e90c291/marko-2.1.3-py3-none-any.whl", hash = "sha256:b4125d44b94606d6f13ddc77fef8cc4c87f70d54bc7d52d6547958b9f998a9d5", size = 42187, upload_time = "2025-04-04T23:49:47.341Z" }, + { url = "https://files.pythonhosted.org/packages/c3/66/49e3691d14898fb6e34ccb337c7677dfb7e18269ed170f12e4b85315eae6/marko-2.1.4-py3-none-any.whl", hash = "sha256:81c2b9f570ca485bc356678d9ba1a1b3eb78b4a315d01f3ded25442fdc796990", size = 42186, upload_time = "2025-06-13T03:25:49.858Z" }, ] [[package]] @@ -1421,100 +1126,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload_time = "2024-10-18T15:21:40.813Z" }, { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload_time = "2024-10-18T15:21:41.814Z" }, { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload_time = "2024-10-18T15:21:42.784Z" }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload_time = "2024-10-18T15:21:43.721Z" }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload_time = "2024-10-18T15:21:44.666Z" }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload_time = "2024-10-18T15:21:45.452Z" }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload_time = "2024-10-18T15:21:46.295Z" }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload_time = "2024-10-18T15:21:47.134Z" }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload_time = "2024-10-18T15:21:48.334Z" }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload_time = "2024-10-18T15:21:49.587Z" }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload_time = "2024-10-18T15:21:50.441Z" }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload_time = "2024-10-18T15:21:51.385Z" }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload_time = "2024-10-18T15:21:52.974Z" }, -] - -[[package]] -name = "matplotlib" -version = "3.9.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "cycler", marker = "python_full_version < '3.10'" }, - { name = "fonttools", marker = "python_full_version < '3.10'" }, - { name = "importlib-resources", marker = "python_full_version < '3.10'" }, - { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "packaging", marker = "python_full_version < '3.10'" }, - { name = "pillow", marker = "python_full_version < '3.10'" }, - { name = "pyparsing", marker = "python_full_version < '3.10'" }, - { name = "python-dateutil", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529, upload_time = "2024-12-13T05:56:34.184Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/94/27d2e2c30d54b56c7b764acc1874a909e34d1965a427fc7092bb6a588b63/matplotlib-3.9.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c5fdd7abfb706dfa8d307af64a87f1a862879ec3cd8d0ec8637458f0885b9c50", size = 7885089, upload_time = "2024-12-13T05:54:24.224Z" }, - { url = "https://files.pythonhosted.org/packages/c6/25/828273307e40a68eb8e9df832b6b2aaad075864fdc1de4b1b81e40b09e48/matplotlib-3.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d89bc4e85e40a71d1477780366c27fb7c6494d293e1617788986f74e2a03d7ff", size = 7770600, upload_time = "2024-12-13T05:54:27.214Z" }, - { url = "https://files.pythonhosted.org/packages/f2/65/f841a422ec994da5123368d76b126acf4fc02ea7459b6e37c4891b555b83/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddf9f3c26aae695c5daafbf6b94e4c1a30d6cd617ba594bbbded3b33a1fcfa26", size = 8200138, upload_time = "2024-12-13T05:54:29.497Z" }, - { url = "https://files.pythonhosted.org/packages/07/06/272aca07a38804d93b6050813de41ca7ab0e29ba7a9dd098e12037c919a9/matplotlib-3.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18ebcf248030173b59a868fda1fe42397253f6698995b55e81e1f57431d85e50", size = 8312711, upload_time = "2024-12-13T05:54:34.396Z" }, - { url = "https://files.pythonhosted.org/packages/98/37/f13e23b233c526b7e27ad61be0a771894a079e0f7494a10d8d81557e0e9a/matplotlib-3.9.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974896ec43c672ec23f3f8c648981e8bc880ee163146e0312a9b8def2fac66f5", size = 9090622, upload_time = "2024-12-13T05:54:36.808Z" }, - { url = "https://files.pythonhosted.org/packages/4f/8c/b1f5bd2bd70e60f93b1b54c4d5ba7a992312021d0ddddf572f9a1a6d9348/matplotlib-3.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:4598c394ae9711cec135639374e70871fa36b56afae17bdf032a345be552a88d", size = 7828211, upload_time = "2024-12-13T05:54:40.596Z" }, - { url = "https://files.pythonhosted.org/packages/74/4b/65be7959a8fa118a3929b49a842de5b78bb55475236fcf64f3e308ff74a0/matplotlib-3.9.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4dd29641d9fb8bc4492420c5480398dd40a09afd73aebe4eb9d0071a05fbe0c", size = 7894430, upload_time = "2024-12-13T05:54:44.049Z" }, - { url = "https://files.pythonhosted.org/packages/e9/18/80f70d91896e0a517b4a051c3fd540daa131630fd75e02e250365353b253/matplotlib-3.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30e5b22e8bcfb95442bf7d48b0d7f3bdf4a450cbf68986ea45fca3d11ae9d099", size = 7780045, upload_time = "2024-12-13T05:54:46.414Z" }, - { url = "https://files.pythonhosted.org/packages/a2/73/ccb381026e3238c5c25c3609ba4157b2d1a617ec98d65a8b4ee4e1e74d02/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bb0030d1d447fd56dcc23b4c64a26e44e898f0416276cac1ebc25522e0ac249", size = 8209906, upload_time = "2024-12-13T05:54:49.459Z" }, - { url = "https://files.pythonhosted.org/packages/ab/33/1648da77b74741c89f5ea95cbf42a291b4b364f2660b316318811404ed97/matplotlib-3.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aca90ed222ac3565d2752b83dbb27627480d27662671e4d39da72e97f657a423", size = 8322873, upload_time = "2024-12-13T05:54:53.066Z" }, - { url = "https://files.pythonhosted.org/packages/57/d3/8447ba78bc6593c9044c372d1609f8ea10fb1e071e7a9e0747bea74fc16c/matplotlib-3.9.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a181b2aa2906c608fcae72f977a4a2d76e385578939891b91c2550c39ecf361e", size = 9099566, upload_time = "2024-12-13T05:54:55.522Z" }, - { url = "https://files.pythonhosted.org/packages/23/e1/4f0e237bf349c02ff9d1b6e7109f1a17f745263809b9714a8576dc17752b/matplotlib-3.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:1f6882828231eca17f501c4dcd98a05abb3f03d157fbc0769c6911fe08b6cfd3", size = 7838065, upload_time = "2024-12-13T05:54:58.337Z" }, - { url = "https://files.pythonhosted.org/packages/1a/2b/c918bf6c19d6445d1cefe3d2e42cb740fb997e14ab19d4daeb6a7ab8a157/matplotlib-3.9.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dfc48d67e6661378a21c2983200a654b72b5c5cdbd5d2cf6e5e1ece860f0cc70", size = 7891131, upload_time = "2024-12-13T05:55:02.837Z" }, - { url = "https://files.pythonhosted.org/packages/c1/e5/b4e8fc601ca302afeeabf45f30e706a445c7979a180e3a978b78b2b681a4/matplotlib-3.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47aef0fab8332d02d68e786eba8113ffd6f862182ea2999379dec9e237b7e483", size = 7776365, upload_time = "2024-12-13T05:55:05.158Z" }, - { url = "https://files.pythonhosted.org/packages/99/06/b991886c506506476e5d83625c5970c656a491b9f80161458fed94597808/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fba1f52c6b7dc764097f52fd9ab627b90db452c9feb653a59945de16752e965f", size = 8200707, upload_time = "2024-12-13T05:55:09.48Z" }, - { url = "https://files.pythonhosted.org/packages/c3/e2/556b627498cb27e61026f2d1ba86a78ad1b836fef0996bef5440e8bc9559/matplotlib-3.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173ac3748acaac21afcc3fa1633924609ba1b87749006bc25051c52c422a5d00", size = 8313761, upload_time = "2024-12-13T05:55:12.95Z" }, - { url = "https://files.pythonhosted.org/packages/58/ff/165af33ec766ff818306ea88e91f9f60d2a6ed543be1eb122a98acbf3b0d/matplotlib-3.9.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320edea0cadc07007765e33f878b13b3738ffa9745c5f707705692df70ffe0e0", size = 9095284, upload_time = "2024-12-13T05:55:16.199Z" }, - { url = "https://files.pythonhosted.org/packages/9f/8b/3d0c7a002db3b1ed702731c2a9a06d78d035f1f2fb0fb936a8e43cc1e9f4/matplotlib-3.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a4a4cfc82330b27042a7169533da7991e8789d180dd5b3daeaee57d75cd5a03b", size = 7841160, upload_time = "2024-12-13T05:55:19.991Z" }, - { url = "https://files.pythonhosted.org/packages/49/b1/999f89a7556d101b23a2f0b54f1b6e140d73f56804da1398f2f0bc0924bc/matplotlib-3.9.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37eeffeeca3c940985b80f5b9a7b95ea35671e0e7405001f249848d2b62351b6", size = 7891499, upload_time = "2024-12-13T05:55:22.142Z" }, - { url = "https://files.pythonhosted.org/packages/87/7b/06a32b13a684977653396a1bfcd34d4e7539c5d55c8cbfaa8ae04d47e4a9/matplotlib-3.9.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3e7465ac859ee4abcb0d836137cd8414e7bb7ad330d905abced457217d4f0f45", size = 7776802, upload_time = "2024-12-13T05:55:25.947Z" }, - { url = "https://files.pythonhosted.org/packages/65/87/ac498451aff739e515891bbb92e566f3c7ef31891aaa878402a71f9b0910/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c12302c34afa0cf061bea23b331e747e5e554b0fa595c96e01c7b75bc3b858", size = 8200802, upload_time = "2024-12-13T05:55:28.461Z" }, - { url = "https://files.pythonhosted.org/packages/f8/6b/9eb761c00e1cb838f6c92e5f25dcda3f56a87a52f6cb8fdfa561e6cf6a13/matplotlib-3.9.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b8c97917f21b75e72108b97707ba3d48f171541a74aa2a56df7a40626bafc64", size = 8313880, upload_time = "2024-12-13T05:55:30.965Z" }, - { url = "https://files.pythonhosted.org/packages/d7/a2/c8eaa600e2085eec7e38cbbcc58a30fc78f8224939d31d3152bdafc01fd1/matplotlib-3.9.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0229803bd7e19271b03cb09f27db76c918c467aa4ce2ae168171bc67c3f508df", size = 9094637, upload_time = "2024-12-13T05:55:33.701Z" }, - { url = "https://files.pythonhosted.org/packages/71/1f/c6e1daea55b7bfeb3d84c6cb1abc449f6a02b181e7e2a5e4db34c3afb793/matplotlib-3.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:7c0d8ef442ebf56ff5e206f8083d08252ee738e04f3dc88ea882853a05488799", size = 7841311, upload_time = "2024-12-13T05:55:36.737Z" }, - { url = "https://files.pythonhosted.org/packages/c0/3a/2757d3f7d388b14dd48f5a83bea65b6d69f000e86b8f28f74d86e0d375bd/matplotlib-3.9.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a04c3b00066a688834356d196136349cb32f5e1003c55ac419e91585168b88fb", size = 7919989, upload_time = "2024-12-13T05:55:39.024Z" }, - { url = "https://files.pythonhosted.org/packages/24/28/f5077c79a4f521589a37fe1062d6a6ea3534e068213f7357e7cfffc2e17a/matplotlib-3.9.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04c519587f6c210626741a1e9a68eefc05966ede24205db8982841826af5871a", size = 7809417, upload_time = "2024-12-13T05:55:42.412Z" }, - { url = "https://files.pythonhosted.org/packages/36/c8/c523fd2963156692916a8eb7d4069084cf729359f7955cf09075deddfeaf/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308afbf1a228b8b525fcd5cec17f246bbbb63b175a3ef6eb7b4d33287ca0cf0c", size = 8226258, upload_time = "2024-12-13T05:55:47.259Z" }, - { url = "https://files.pythonhosted.org/packages/f6/88/499bf4b8fa9349b6f5c0cf4cead0ebe5da9d67769129f1b5651e5ac51fbc/matplotlib-3.9.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb3b02246ddcffd3ce98e88fed5b238bc5faff10dbbaa42090ea13241d15764", size = 8335849, upload_time = "2024-12-13T05:55:49.763Z" }, - { url = "https://files.pythonhosted.org/packages/b8/9f/20a4156b9726188646a030774ee337d5ff695a965be45ce4dbcb9312c170/matplotlib-3.9.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8a75287e9cb9eee48cb79ec1d806f75b29c0fde978cb7223a1f4c5848d696041", size = 9102152, upload_time = "2024-12-13T05:55:51.997Z" }, - { url = "https://files.pythonhosted.org/packages/10/11/237f9c3a4e8d810b1759b67ff2da7c32c04f9c80aa475e7beb36ed43a8fb/matplotlib-3.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:488deb7af140f0ba86da003e66e10d55ff915e152c78b4b66d231638400b1965", size = 7896987, upload_time = "2024-12-13T05:55:55.941Z" }, - { url = "https://files.pythonhosted.org/packages/56/eb/501b465c9fef28f158e414ea3a417913dc2ac748564c7ed41535f23445b4/matplotlib-3.9.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3c3724d89a387ddf78ff88d2a30ca78ac2b4c89cf37f2db4bd453c34799e933c", size = 7885919, upload_time = "2024-12-13T05:55:59.66Z" }, - { url = "https://files.pythonhosted.org/packages/da/36/236fbd868b6c91309a5206bd90c3f881f4f44b2d997cd1d6239ef652f878/matplotlib-3.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d5f0a8430ffe23d7e32cfd86445864ccad141797f7d25b7c41759a5b5d17cfd7", size = 7771486, upload_time = "2024-12-13T05:56:04.264Z" }, - { url = "https://files.pythonhosted.org/packages/e0/4b/105caf2d54d5ed11d9f4335398f5103001a03515f2126c936a752ccf1461/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bb0141a21aef3b64b633dc4d16cbd5fc538b727e4958be82a0e1c92a234160e", size = 8201838, upload_time = "2024-12-13T05:56:06.792Z" }, - { url = "https://files.pythonhosted.org/packages/5d/a7/bb01188fb4013d34d274caf44a2f8091255b0497438e8b6c0a7c1710c692/matplotlib-3.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57aa235109e9eed52e2c2949db17da185383fa71083c00c6c143a60e07e0888c", size = 8314492, upload_time = "2024-12-13T05:56:09.964Z" }, - { url = "https://files.pythonhosted.org/packages/33/19/02e1a37f7141fc605b193e927d0a9cdf9dc124a20b9e68793f4ffea19695/matplotlib-3.9.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b18c600061477ccfdd1e6fd050c33d8be82431700f3452b297a56d9ed7037abb", size = 9092500, upload_time = "2024-12-13T05:56:13.55Z" }, - { url = "https://files.pythonhosted.org/packages/57/68/c2feb4667adbf882ffa4b3e0ac9967f848980d9f8b5bebd86644aa67ce6a/matplotlib-3.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:ef5f2d1b67d2d2145ff75e10f8c008bfbf71d45137c4b648c87193e7dd053eac", size = 7822962, upload_time = "2024-12-13T05:56:16.358Z" }, - { url = "https://files.pythonhosted.org/packages/0c/22/2ef6a364cd3f565442b0b055e0599744f1e4314ec7326cdaaa48a4d864d7/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:44e0ed786d769d85bc787b0606a53f2d8d2d1d3c8a2608237365e9121c1a338c", size = 7877995, upload_time = "2024-12-13T05:56:18.805Z" }, - { url = "https://files.pythonhosted.org/packages/87/b8/2737456e566e9f4d94ae76b8aa0d953d9acb847714f9a7ad80184474f5be/matplotlib-3.9.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:09debb9ce941eb23ecdbe7eab972b1c3e0276dcf01688073faff7b0f61d6c6ca", size = 7769300, upload_time = "2024-12-13T05:56:21.315Z" }, - { url = "https://files.pythonhosted.org/packages/b2/1f/e709c6ec7b5321e6568769baa288c7178e60a93a9da9e682b39450da0e29/matplotlib-3.9.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc53cf157a657bfd03afab14774d54ba73aa84d42cfe2480c91bd94873952db", size = 8313423, upload_time = "2024-12-13T05:56:26.719Z" }, - { url = "https://files.pythonhosted.org/packages/5e/b6/5a1f868782cd13f053a679984e222007ecff654a9bfbac6b27a65f4eeb05/matplotlib-3.9.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad45da51be7ad02387801fd154ef74d942f49fe3fcd26a64c94842ba7ec0d865", size = 7854624, upload_time = "2024-12-13T05:56:29.359Z" }, ] [[package]] name = "matplotlib" version = "3.10.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "cycler", marker = "python_full_version >= '3.10'" }, - { name = "fonttools", marker = "python_full_version >= '3.10'" }, - { name = "kiwisolver", version = "1.4.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "packaging", marker = "python_full_version >= '3.10'" }, - { name = "pillow", marker = "python_full_version >= '3.10'" }, - { name = "pyparsing", marker = "python_full_version >= '3.10'" }, - { name = "python-dateutil", marker = "python_full_version >= '3.10'" }, + { name = "contourpy" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, ] sdist = { url = "https://files.pythonhosted.org/packages/26/91/d49359a21893183ed2a5b6c76bec40e0b1dcbf8ca148f864d134897cfc75/matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0", size = 34799811, upload_time = "2025-05-08T19:10:54.39Z" } wheels = [ @@ -1564,46 +1192,41 @@ wheels = [ [[package]] name = "mypy" -version = "1.15.0" +version = "1.16.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mypy-extensions" }, + { name = "pathspec" }, { name = "tomli", marker = "python_full_version < '3.11'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43", size = 3239717, upload_time = "2025-02-05T03:50:34.655Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/68/f8/65a7ce8d0e09b6329ad0c8d40330d100ea343bd4dd04c4f8ae26462d0a17/mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13", size = 10738433, upload_time = "2025-02-05T03:49:29.145Z" }, - { url = "https://files.pythonhosted.org/packages/b4/95/9c0ecb8eacfe048583706249439ff52105b3f552ea9c4024166c03224270/mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559", size = 9861472, upload_time = "2025-02-05T03:49:16.986Z" }, - { url = "https://files.pythonhosted.org/packages/84/09/9ec95e982e282e20c0d5407bc65031dfd0f0f8ecc66b69538296e06fcbee/mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b", size = 11611424, upload_time = "2025-02-05T03:49:46.908Z" }, - { url = "https://files.pythonhosted.org/packages/78/13/f7d14e55865036a1e6a0a69580c240f43bc1f37407fe9235c0d4ef25ffb0/mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3", size = 12365450, upload_time = "2025-02-05T03:50:05.89Z" }, - { url = "https://files.pythonhosted.org/packages/48/e1/301a73852d40c241e915ac6d7bcd7fedd47d519246db2d7b86b9d7e7a0cb/mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b", size = 12551765, upload_time = "2025-02-05T03:49:33.56Z" }, - { url = "https://files.pythonhosted.org/packages/77/ba/c37bc323ae5fe7f3f15a28e06ab012cd0b7552886118943e90b15af31195/mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828", size = 9274701, upload_time = "2025-02-05T03:49:38.981Z" }, - { url = "https://files.pythonhosted.org/packages/03/bc/f6339726c627bd7ca1ce0fa56c9ae2d0144604a319e0e339bdadafbbb599/mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f", size = 10662338, upload_time = "2025-02-05T03:50:17.287Z" }, - { url = "https://files.pythonhosted.org/packages/e2/90/8dcf506ca1a09b0d17555cc00cd69aee402c203911410136cd716559efe7/mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5", size = 9787540, upload_time = "2025-02-05T03:49:51.21Z" }, - { url = "https://files.pythonhosted.org/packages/05/05/a10f9479681e5da09ef2f9426f650d7b550d4bafbef683b69aad1ba87457/mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e", size = 11538051, upload_time = "2025-02-05T03:50:20.885Z" }, - { url = "https://files.pythonhosted.org/packages/e9/9a/1f7d18b30edd57441a6411fcbc0c6869448d1a4bacbaee60656ac0fc29c8/mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c", size = 12286751, upload_time = "2025-02-05T03:49:42.408Z" }, - { url = "https://files.pythonhosted.org/packages/72/af/19ff499b6f1dafcaf56f9881f7a965ac2f474f69f6f618b5175b044299f5/mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f", size = 12421783, upload_time = "2025-02-05T03:49:07.707Z" }, - { url = "https://files.pythonhosted.org/packages/96/39/11b57431a1f686c1aed54bf794870efe0f6aeca11aca281a0bd87a5ad42c/mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f", size = 9265618, upload_time = "2025-02-05T03:49:54.581Z" }, - { url = "https://files.pythonhosted.org/packages/98/3a/03c74331c5eb8bd025734e04c9840532226775c47a2c39b56a0c8d4f128d/mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd", size = 10793981, upload_time = "2025-02-05T03:50:28.25Z" }, - { url = "https://files.pythonhosted.org/packages/f0/1a/41759b18f2cfd568848a37c89030aeb03534411eef981df621d8fad08a1d/mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f", size = 9749175, upload_time = "2025-02-05T03:50:13.411Z" }, - { url = "https://files.pythonhosted.org/packages/12/7e/873481abf1ef112c582db832740f4c11b2bfa510e829d6da29b0ab8c3f9c/mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464", size = 11455675, upload_time = "2025-02-05T03:50:31.421Z" }, - { url = "https://files.pythonhosted.org/packages/b3/d0/92ae4cde706923a2d3f2d6c39629134063ff64b9dedca9c1388363da072d/mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee", size = 12410020, upload_time = "2025-02-05T03:48:48.705Z" }, - { url = "https://files.pythonhosted.org/packages/46/8b/df49974b337cce35f828ba6fda228152d6db45fed4c86ba56ffe442434fd/mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e", size = 12498582, upload_time = "2025-02-05T03:49:03.628Z" }, - { url = "https://files.pythonhosted.org/packages/13/50/da5203fcf6c53044a0b699939f31075c45ae8a4cadf538a9069b165c1050/mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22", size = 9366614, upload_time = "2025-02-05T03:50:00.313Z" }, - { url = "https://files.pythonhosted.org/packages/6a/9b/fd2e05d6ffff24d912f150b87db9e364fa8282045c875654ce7e32fffa66/mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445", size = 10788592, upload_time = "2025-02-05T03:48:55.789Z" }, - { url = "https://files.pythonhosted.org/packages/74/37/b246d711c28a03ead1fd906bbc7106659aed7c089d55fe40dd58db812628/mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d", size = 9753611, upload_time = "2025-02-05T03:48:44.581Z" }, - { url = "https://files.pythonhosted.org/packages/a6/ac/395808a92e10cfdac8003c3de9a2ab6dc7cde6c0d2a4df3df1b815ffd067/mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5", size = 11438443, upload_time = "2025-02-05T03:49:25.514Z" }, - { url = "https://files.pythonhosted.org/packages/d2/8b/801aa06445d2de3895f59e476f38f3f8d610ef5d6908245f07d002676cbf/mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036", size = 12402541, upload_time = "2025-02-05T03:49:57.623Z" }, - { url = "https://files.pythonhosted.org/packages/c7/67/5a4268782eb77344cc613a4cf23540928e41f018a9a1ec4c6882baf20ab8/mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357", size = 12494348, upload_time = "2025-02-05T03:48:52.361Z" }, - { url = "https://files.pythonhosted.org/packages/83/3e/57bb447f7bbbfaabf1712d96f9df142624a386d98fb026a761532526057e/mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf", size = 9373648, upload_time = "2025-02-05T03:49:11.395Z" }, - { url = "https://files.pythonhosted.org/packages/5a/fa/79cf41a55b682794abe71372151dbbf856e3008f6767057229e6649d294a/mypy-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078", size = 10737129, upload_time = "2025-02-05T03:50:24.509Z" }, - { url = "https://files.pythonhosted.org/packages/d3/33/dd8feb2597d648de29e3da0a8bf4e1afbda472964d2a4a0052203a6f3594/mypy-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba", size = 9856335, upload_time = "2025-02-05T03:49:36.398Z" }, - { url = "https://files.pythonhosted.org/packages/e4/b5/74508959c1b06b96674b364ffeb7ae5802646b32929b7701fc6b18447592/mypy-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5", size = 11611935, upload_time = "2025-02-05T03:49:14.154Z" }, - { url = "https://files.pythonhosted.org/packages/6c/53/da61b9d9973efcd6507183fdad96606996191657fe79701b2c818714d573/mypy-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b", size = 12365827, upload_time = "2025-02-05T03:48:59.458Z" }, - { url = "https://files.pythonhosted.org/packages/c1/72/965bd9ee89540c79a25778cc080c7e6ef40aa1eeac4d52cec7eae6eb5228/mypy-1.15.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2", size = 12541924, upload_time = "2025-02-05T03:50:03.12Z" }, - { url = "https://files.pythonhosted.org/packages/46/d0/f41645c2eb263e6c77ada7d76f894c580c9ddb20d77f0c24d34273a4dab2/mypy-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980", size = 9271176, upload_time = "2025-02-05T03:50:10.86Z" }, - { url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777, upload_time = "2025-02-05T03:50:08.348Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/81/69/92c7fa98112e4d9eb075a239caa4ef4649ad7d441545ccffbd5e34607cbb/mypy-1.16.1.tar.gz", hash = "sha256:6bd00a0a2094841c5e47e7374bb42b83d64c527a502e3334e1173a0c24437bab", size = 3324747, upload_time = "2025-06-16T16:51:35.145Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/12/2bf23a80fcef5edb75de9a1e295d778e0f46ea89eb8b115818b663eff42b/mypy-1.16.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4f0fed1022a63c6fec38f28b7fc77fca47fd490445c69d0a66266c59dd0b88a", size = 10958644, upload_time = "2025-06-16T16:51:11.649Z" }, + { url = "https://files.pythonhosted.org/packages/08/50/bfe47b3b278eacf348291742fd5e6613bbc4b3434b72ce9361896417cfe5/mypy-1.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:86042bbf9f5a05ea000d3203cf87aa9d0ccf9a01f73f71c58979eb9249f46d72", size = 10087033, upload_time = "2025-06-16T16:35:30.089Z" }, + { url = "https://files.pythonhosted.org/packages/21/de/40307c12fe25675a0776aaa2cdd2879cf30d99eec91b898de00228dc3ab5/mypy-1.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea7469ee5902c95542bea7ee545f7006508c65c8c54b06dc2c92676ce526f3ea", size = 11875645, upload_time = "2025-06-16T16:35:48.49Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d8/85bdb59e4a98b7a31495bd8f1a4445d8ffc86cde4ab1f8c11d247c11aedc/mypy-1.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:352025753ef6a83cb9e7f2427319bb7875d1fdda8439d1e23de12ab164179574", size = 12616986, upload_time = "2025-06-16T16:48:39.526Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d0/bb25731158fa8f8ee9e068d3e94fcceb4971fedf1424248496292512afe9/mypy-1.16.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ff9fa5b16e4c1364eb89a4d16bcda9987f05d39604e1e6c35378a2987c1aac2d", size = 12878632, upload_time = "2025-06-16T16:36:08.195Z" }, + { url = "https://files.pythonhosted.org/packages/2d/11/822a9beb7a2b825c0cb06132ca0a5183f8327a5e23ef89717c9474ba0bc6/mypy-1.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:1256688e284632382f8f3b9e2123df7d279f603c561f099758e66dd6ed4e8bd6", size = 9484391, upload_time = "2025-06-16T16:37:56.151Z" }, + { url = "https://files.pythonhosted.org/packages/9a/61/ec1245aa1c325cb7a6c0f8570a2eee3bfc40fa90d19b1267f8e50b5c8645/mypy-1.16.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:472e4e4c100062488ec643f6162dd0d5208e33e2f34544e1fc931372e806c0cc", size = 10890557, upload_time = "2025-06-16T16:37:21.421Z" }, + { url = "https://files.pythonhosted.org/packages/6b/bb/6eccc0ba0aa0c7a87df24e73f0ad34170514abd8162eb0c75fd7128171fb/mypy-1.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea16e2a7d2714277e349e24d19a782a663a34ed60864006e8585db08f8ad1782", size = 10012921, upload_time = "2025-06-16T16:51:28.659Z" }, + { url = "https://files.pythonhosted.org/packages/5f/80/b337a12e2006715f99f529e732c5f6a8c143bb58c92bb142d5ab380963a5/mypy-1.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08e850ea22adc4d8a4014651575567b0318ede51e8e9fe7a68f25391af699507", size = 11802887, upload_time = "2025-06-16T16:50:53.627Z" }, + { url = "https://files.pythonhosted.org/packages/d9/59/f7af072d09793d581a745a25737c7c0a945760036b16aeb620f658a017af/mypy-1.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22d76a63a42619bfb90122889b903519149879ddbf2ba4251834727944c8baca", size = 12531658, upload_time = "2025-06-16T16:33:55.002Z" }, + { url = "https://files.pythonhosted.org/packages/82/c4/607672f2d6c0254b94a646cfc45ad589dd71b04aa1f3d642b840f7cce06c/mypy-1.16.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2c7ce0662b6b9dc8f4ed86eb7a5d505ee3298c04b40ec13b30e572c0e5ae17c4", size = 12732486, upload_time = "2025-06-16T16:37:03.301Z" }, + { url = "https://files.pythonhosted.org/packages/b6/5e/136555ec1d80df877a707cebf9081bd3a9f397dedc1ab9750518d87489ec/mypy-1.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:211287e98e05352a2e1d4e8759c5490925a7c784ddc84207f4714822f8cf99b6", size = 9479482, upload_time = "2025-06-16T16:47:37.48Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d6/39482e5fcc724c15bf6280ff5806548c7185e0c090712a3736ed4d07e8b7/mypy-1.16.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:af4792433f09575d9eeca5c63d7d90ca4aeceda9d8355e136f80f8967639183d", size = 11066493, upload_time = "2025-06-16T16:47:01.683Z" }, + { url = "https://files.pythonhosted.org/packages/e6/e5/26c347890efc6b757f4d5bb83f4a0cf5958b8cf49c938ac99b8b72b420a6/mypy-1.16.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66df38405fd8466ce3517eda1f6640611a0b8e70895e2a9462d1d4323c5eb4b9", size = 10081687, upload_time = "2025-06-16T16:48:19.367Z" }, + { url = "https://files.pythonhosted.org/packages/44/c7/b5cb264c97b86914487d6a24bd8688c0172e37ec0f43e93b9691cae9468b/mypy-1.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44e7acddb3c48bd2713994d098729494117803616e116032af192871aed80b79", size = 11839723, upload_time = "2025-06-16T16:49:20.912Z" }, + { url = "https://files.pythonhosted.org/packages/15/f8/491997a9b8a554204f834ed4816bda813aefda31cf873bb099deee3c9a99/mypy-1.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ab5eca37b50188163fa7c1b73c685ac66c4e9bdee4a85c9adac0e91d8895e15", size = 12722980, upload_time = "2025-06-16T16:37:40.929Z" }, + { url = "https://files.pythonhosted.org/packages/df/f0/2bd41e174b5fd93bc9de9a28e4fb673113633b8a7f3a607fa4a73595e468/mypy-1.16.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb6229b2c9086247e21a83c309754b9058b438704ad2f6807f0d8227f6ebdd", size = 12903328, upload_time = "2025-06-16T16:34:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/61/81/5572108a7bec2c46b8aff7e9b524f371fe6ab5efb534d38d6b37b5490da8/mypy-1.16.1-cp312-cp312-win_amd64.whl", hash = "sha256:1f0435cf920e287ff68af3d10a118a73f212deb2ce087619eb4e648116d1fe9b", size = 9562321, upload_time = "2025-06-16T16:48:58.823Z" }, + { url = "https://files.pythonhosted.org/packages/28/e3/96964af4a75a949e67df4b95318fe2b7427ac8189bbc3ef28f92a1c5bc56/mypy-1.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ddc91eb318c8751c69ddb200a5937f1232ee8efb4e64e9f4bc475a33719de438", size = 11063480, upload_time = "2025-06-16T16:47:56.205Z" }, + { url = "https://files.pythonhosted.org/packages/f5/4d/cd1a42b8e5be278fab7010fb289d9307a63e07153f0ae1510a3d7b703193/mypy-1.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:87ff2c13d58bdc4bbe7dc0dedfe622c0f04e2cb2a492269f3b418df2de05c536", size = 10090538, upload_time = "2025-06-16T16:46:43.92Z" }, + { url = "https://files.pythonhosted.org/packages/c9/4f/c3c6b4b66374b5f68bab07c8cabd63a049ff69796b844bc759a0ca99bb2a/mypy-1.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a7cfb0fe29fe5a9841b7c8ee6dffb52382c45acdf68f032145b75620acfbd6f", size = 11836839, upload_time = "2025-06-16T16:36:28.039Z" }, + { url = "https://files.pythonhosted.org/packages/b4/7e/81ca3b074021ad9775e5cb97ebe0089c0f13684b066a750b7dc208438403/mypy-1.16.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:051e1677689c9d9578b9c7f4d206d763f9bbd95723cd1416fad50db49d52f359", size = 12715634, upload_time = "2025-06-16T16:50:34.441Z" }, + { url = "https://files.pythonhosted.org/packages/e9/95/bdd40c8be346fa4c70edb4081d727a54d0a05382d84966869738cfa8a497/mypy-1.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d5d2309511cc56c021b4b4e462907c2b12f669b2dbeb68300110ec27723971be", size = 12895584, upload_time = "2025-06-16T16:34:54.857Z" }, + { url = "https://files.pythonhosted.org/packages/5a/fd/d486a0827a1c597b3b48b1bdef47228a6e9ee8102ab8c28f944cb83b65dc/mypy-1.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:4f58ac32771341e38a853c5d0ec0dfe27e18e27da9cdb8bbc882d2249c71a3ee", size = 9573886, upload_time = "2025-06-16T16:36:43.589Z" }, + { url = "https://files.pythonhosted.org/packages/cf/d3/53e684e78e07c1a2bf7105715e5edd09ce951fc3f47cf9ed095ec1b7a037/mypy-1.16.1-py3-none-any.whl", hash = "sha256:5fc2ac4027d0ef28d6ba69a0343737a23c4d1b83672bf38d1fe237bdc0643b37", size = 2265923, upload_time = "2025-06-16T16:48:02.366Z" }, ] [[package]] @@ -1617,11 +1240,11 @@ wheels = [ [[package]] name = "narwhals" -version = "1.41.0" +version = "1.44.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/32/fc/7b9a3689911662be59889b1b0b40e17d5dba6f98080994d86ca1f3154d41/narwhals-1.41.0.tar.gz", hash = "sha256:0ab2e5a1757a19b071e37ca74b53b0b5426789321d68939738337dfddea629b5", size = 488446, upload_time = "2025-05-26T12:46:07.43Z" } +sdist = { url = "https://files.pythonhosted.org/packages/56/e5/0b875d29e2a4d112c58fef6aac2ed3a73bbdd4d8d0dce722fd154357248a/narwhals-1.44.0.tar.gz", hash = "sha256:8cf0616d4f6f21225b3b56fcde96ccab6d05023561a0f162402aa9b8c33ad31d", size = 499250, upload_time = "2025-06-23T08:28:08.653Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/e0/ade8619846645461c012498f02b93a659e50f07d9d9a6ffefdf5ea2c02a0/narwhals-1.41.0-py3-none-any.whl", hash = "sha256:d958336b40952e4c4b7aeef259a7074851da0800cf902186a58f2faeff97be02", size = 357968, upload_time = "2025-05-26T12:46:05.207Z" }, + { url = "https://files.pythonhosted.org/packages/ff/fb/12f4a971467aac3cb7cbccbbfca5d0f05e23722068112c1ac4a393613ebe/narwhals-1.44.0-py3-none-any.whl", hash = "sha256:a170ea0bab4cf1f323d9f8bf17f2d7042c3d73802bea321996b39bf075d57de5", size = 365240, upload_time = "2025-06-23T08:28:06.314Z" }, ] [[package]] @@ -1641,83 +1264,27 @@ wheels = [ [[package]] name = "networkx" -version = "3.2.1" +version = "3.4.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.10'", + "python_full_version < '3.11'", ] -sdist = { url = "https://files.pythonhosted.org/packages/c4/80/a84676339aaae2f1cfdf9f418701dd634aef9cc76f708ef55c36ff39c3ca/networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6", size = 2073928, upload_time = "2023-10-28T08:41:39.364Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368, upload_time = "2024-10-21T12:39:38.695Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/f0/8fbc882ca80cf077f1b246c0e3c3465f7f415439bdea6b899f6b19f61f70/networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2", size = 1647772, upload_time = "2023-10-28T08:41:36.945Z" }, + { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263, upload_time = "2024-10-21T12:39:36.247Z" }, ] [[package]] name = "networkx" -version = "3.4.2" +version = "3.5" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.12'", "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368, upload_time = "2024-10-21T12:39:38.695Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz", hash = "sha256:d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037", size = 2471065, upload_time = "2025-05-29T11:35:07.804Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263, upload_time = "2024-10-21T12:39:36.247Z" }, -] - -[[package]] -name = "numpy" -version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload_time = "2024-08-26T20:19:40.945Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload_time = "2024-08-26T20:04:14.625Z" }, - { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload_time = "2024-08-26T20:04:36.784Z" }, - { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload_time = "2024-08-26T20:04:46.491Z" }, - { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload_time = "2024-08-26T20:04:58.173Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload_time = "2024-08-26T20:05:19.098Z" }, - { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload_time = "2024-08-26T20:05:47.479Z" }, - { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload_time = "2024-08-26T20:06:17.137Z" }, - { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload_time = "2024-08-26T20:06:39.16Z" }, - { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload_time = "2024-08-26T20:06:50.361Z" }, - { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload_time = "2024-08-26T20:07:13.881Z" }, - { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload_time = "2024-08-26T20:07:45.345Z" }, - { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload_time = "2024-08-26T20:08:06.666Z" }, - { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload_time = "2024-08-26T20:08:15.83Z" }, - { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload_time = "2024-08-26T20:08:27.185Z" }, - { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload_time = "2024-08-26T20:08:48.058Z" }, - { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload_time = "2024-08-26T20:09:16.536Z" }, - { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload_time = "2024-08-26T20:09:46.263Z" }, - { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload_time = "2024-08-26T20:10:08.483Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload_time = "2024-08-26T20:10:19.732Z" }, - { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload_time = "2024-08-26T20:10:43.413Z" }, - { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload_time = "2024-08-26T20:11:13.916Z" }, - { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload_time = "2024-08-26T20:11:34.779Z" }, - { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload_time = "2024-08-26T20:11:43.902Z" }, - { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload_time = "2024-08-26T20:11:55.09Z" }, - { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload_time = "2024-08-26T20:12:14.95Z" }, - { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload_time = "2024-08-26T20:12:44.049Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload_time = "2024-08-26T20:13:13.634Z" }, - { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload_time = "2024-08-26T20:13:34.851Z" }, - { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload_time = "2024-08-26T20:13:45.653Z" }, - { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload_time = "2024-08-26T20:14:08.786Z" }, - { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload_time = "2024-08-26T20:14:40.108Z" }, - { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload_time = "2024-08-26T20:15:00.985Z" }, - { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload_time = "2024-08-26T20:15:10.876Z" }, - { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload_time = "2024-08-26T20:15:22.055Z" }, - { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload_time = "2024-08-26T20:15:42.452Z" }, - { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload_time = "2024-08-26T20:16:11.048Z" }, - { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload_time = "2024-08-26T20:16:40.171Z" }, - { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload_time = "2024-08-26T20:17:02.604Z" }, - { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload_time = "2024-08-26T20:17:13.553Z" }, - { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload_time = "2024-08-26T20:17:36.72Z" }, - { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload_time = "2024-08-26T20:18:07.732Z" }, - { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload_time = "2024-08-26T20:18:19.125Z" }, - { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload_time = "2024-08-26T20:18:47.237Z" }, - { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload_time = "2024-08-26T20:19:11.19Z" }, + { url = "https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl", hash = "sha256:0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec", size = 2034406, upload_time = "2025-05-29T11:35:04.961Z" }, ] [[package]] @@ -1725,9 +1292,7 @@ name = "numpy" version = "2.2.6" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", + "python_full_version < '3.11'", ] sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload_time = "2025-05-17T22:38:04.611Z" } wheels = [ @@ -1787,9 +1352,71 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload_time = "2025-05-17T21:45:31.426Z" }, ] +[[package]] +name = "numpy" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372, upload_time = "2025-06-21T12:28:33.469Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/c7/87c64d7ab426156530676000c94784ef55676df2f13b2796f97722464124/numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070", size = 21199346, upload_time = "2025-06-21T11:47:47.57Z" }, + { url = "https://files.pythonhosted.org/packages/58/0e/0966c2f44beeac12af8d836e5b5f826a407cf34c45cb73ddcdfce9f5960b/numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae", size = 14361143, upload_time = "2025-06-21T11:48:10.766Z" }, + { url = "https://files.pythonhosted.org/packages/7d/31/6e35a247acb1bfc19226791dfc7d4c30002cd4e620e11e58b0ddf836fe52/numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a", size = 5378989, upload_time = "2025-06-21T11:48:19.998Z" }, + { url = "https://files.pythonhosted.org/packages/b0/25/93b621219bb6f5a2d4e713a824522c69ab1f06a57cd571cda70e2e31af44/numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e", size = 6912890, upload_time = "2025-06-21T11:48:31.376Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/6b06ed98d11fb32e27fb59468b42383f3877146d3ee639f733776b6ac596/numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db", size = 14569032, upload_time = "2025-06-21T11:48:52.563Z" }, + { url = "https://files.pythonhosted.org/packages/75/c9/9bec03675192077467a9c7c2bdd1f2e922bd01d3a69b15c3a0fdcd8548f6/numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb", size = 16930354, upload_time = "2025-06-21T11:49:17.473Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e2/5756a00cabcf50a3f527a0c968b2b4881c62b1379223931853114fa04cda/numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93", size = 15879605, upload_time = "2025-06-21T11:49:41.161Z" }, + { url = "https://files.pythonhosted.org/packages/ff/86/a471f65f0a86f1ca62dcc90b9fa46174dd48f50214e5446bc16a775646c5/numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115", size = 18666994, upload_time = "2025-06-21T11:50:08.516Z" }, + { url = "https://files.pythonhosted.org/packages/43/a6/482a53e469b32be6500aaf61cfafd1de7a0b0d484babf679209c3298852e/numpy-2.3.1-cp311-cp311-win32.whl", hash = "sha256:a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369", size = 6603672, upload_time = "2025-06-21T11:50:19.584Z" }, + { url = "https://files.pythonhosted.org/packages/6b/fb/bb613f4122c310a13ec67585c70e14b03bfc7ebabd24f4d5138b97371d7c/numpy-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff", size = 13024015, upload_time = "2025-06-21T11:50:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/51/58/2d842825af9a0c041aca246dc92eb725e1bc5e1c9ac89712625db0c4e11c/numpy-2.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a", size = 10456989, upload_time = "2025-06-21T11:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d", size = 20896664, upload_time = "2025-06-21T12:15:30.845Z" }, + { url = "https://files.pythonhosted.org/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29", size = 14131078, upload_time = "2025-06-21T12:15:52.23Z" }, + { url = "https://files.pythonhosted.org/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc", size = 5112554, upload_time = "2025-06-21T12:16:01.434Z" }, + { url = "https://files.pythonhosted.org/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943", size = 6646560, upload_time = "2025-06-21T12:16:11.895Z" }, + { url = "https://files.pythonhosted.org/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25", size = 14260638, upload_time = "2025-06-21T12:16:32.611Z" }, + { url = "https://files.pythonhosted.org/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660", size = 16632729, upload_time = "2025-06-21T12:16:57.439Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952", size = 15565330, upload_time = "2025-06-21T12:17:20.638Z" }, + { url = "https://files.pythonhosted.org/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77", size = 18361734, upload_time = "2025-06-21T12:17:47.938Z" }, + { url = "https://files.pythonhosted.org/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab", size = 6320411, upload_time = "2025-06-21T12:17:58.475Z" }, + { url = "https://files.pythonhosted.org/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76", size = 12734973, upload_time = "2025-06-21T12:18:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30", size = 10191491, upload_time = "2025-06-21T12:18:33.585Z" }, + { url = "https://files.pythonhosted.org/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381, upload_time = "2025-06-21T12:19:04.103Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726, upload_time = "2025-06-21T12:19:25.599Z" }, + { url = "https://files.pythonhosted.org/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145, upload_time = "2025-06-21T12:19:34.782Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409, upload_time = "2025-06-21T12:19:45.228Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630, upload_time = "2025-06-21T12:20:06.544Z" }, + { url = "https://files.pythonhosted.org/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546, upload_time = "2025-06-21T12:20:31.002Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538, upload_time = "2025-06-21T12:20:54.322Z" }, + { url = "https://files.pythonhosted.org/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327, upload_time = "2025-06-21T12:21:21.053Z" }, + { url = "https://files.pythonhosted.org/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330, upload_time = "2025-06-21T12:25:07.447Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565, upload_time = "2025-06-21T12:25:26.444Z" }, + { url = "https://files.pythonhosted.org/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262, upload_time = "2025-06-21T12:25:42.196Z" }, + { url = "https://files.pythonhosted.org/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593, upload_time = "2025-06-21T12:21:51.664Z" }, + { url = "https://files.pythonhosted.org/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523, upload_time = "2025-06-21T12:22:13.583Z" }, + { url = "https://files.pythonhosted.org/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993, upload_time = "2025-06-21T12:22:22.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652, upload_time = "2025-06-21T12:22:33.629Z" }, + { url = "https://files.pythonhosted.org/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561, upload_time = "2025-06-21T12:22:55.056Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349, upload_time = "2025-06-21T12:23:20.53Z" }, + { url = "https://files.pythonhosted.org/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053, upload_time = "2025-06-21T12:23:43.697Z" }, + { url = "https://files.pythonhosted.org/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184, upload_time = "2025-06-21T12:24:10.708Z" }, + { url = "https://files.pythonhosted.org/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678, upload_time = "2025-06-21T12:24:21.596Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697, upload_time = "2025-06-21T12:24:40.644Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376, upload_time = "2025-06-21T12:24:56.884Z" }, + { url = "https://files.pythonhosted.org/packages/e8/34/facc13b9b42ddca30498fc51f7f73c3d0f2be179943a4b4da8686e259740/numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3", size = 21070637, upload_time = "2025-06-21T12:26:12.518Z" }, + { url = "https://files.pythonhosted.org/packages/65/b6/41b705d9dbae04649b529fc9bd3387664c3281c7cd78b404a4efe73dcc45/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b", size = 5304087, upload_time = "2025-06-21T12:26:22.294Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/fe3ac1902bff7a4934a22d49e1c9d71a623204d654d4cc43c6e8fe337fcb/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7", size = 6817588, upload_time = "2025-06-21T12:26:32.939Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ee/89bedf69c36ace1ac8f59e97811c1f5031e179a37e4821c3a230bf750142/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df", size = 14399010, upload_time = "2025-06-21T12:26:54.086Z" }, + { url = "https://files.pythonhosted.org/packages/15/08/e00e7070ede29b2b176165eba18d6f9784d5349be3c0c1218338e79c27fd/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68", size = 16752042, upload_time = "2025-06-21T12:27:19.018Z" }, + { url = "https://files.pythonhosted.org/packages/48/6b/1c6b515a83d5564b1698a61efa245727c8feecf308f4091f565988519d20/numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb", size = 12927246, upload_time = "2025-06-21T12:27:38.618Z" }, +] + [[package]] name = "openai" -version = "1.82.0" +version = "1.91.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1801,9 +1428,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/19/6b09bb3132f7e1a7a2291fd46fb33659bbccca041f863abd682e14ba86d7/openai-1.82.0.tar.gz", hash = "sha256:b0a009b9a58662d598d07e91e4219ab4b1e3d8ba2db3f173896a92b9b874d1a7", size = 461092, upload_time = "2025-05-22T20:08:07.282Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/e2/a22f2973b729eff3f1f429017bdf717930c5de0fbf9e14017bae330e4e7a/openai-1.91.0.tar.gz", hash = "sha256:d6b07730d2f7c6745d0991997c16f85cddfc90ddcde8d569c862c30716b9fc90", size = 472529, upload_time = "2025-06-23T18:27:10.961Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/4b/a59464ee5f77822a81ee069b4021163a0174940a92685efc3cf8b4c443a3/openai-1.82.0-py3-none-any.whl", hash = "sha256:8c40647fea1816516cb3de5189775b30b5f4812777e40b8768f361f232b61b30", size = 720412, upload_time = "2025-05-22T20:08:05.637Z" }, + { url = "https://files.pythonhosted.org/packages/7a/d2/f99bdd6fc737d6b3cf0df895508d621fc9a386b375a1230ee81d46c5436e/openai-1.91.0-py3-none-any.whl", hash = "sha256:207f87aa3bc49365e014fac2f7e291b99929f4fe126c4654143440e0ad446a5f", size = 735837, upload_time = "2025-06-23T18:27:08.913Z" }, ] [[package]] @@ -1829,92 +1456,65 @@ wheels = [ [[package]] name = "pandas" -version = "2.2.3" +version = "2.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "python-dateutil" }, { name = "pytz" }, { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload_time = "2024-09-20T13:10:04.827Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827, upload_time = "2024-09-20T13:08:42.347Z" }, - { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897, upload_time = "2024-09-20T13:08:45.807Z" }, - { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908, upload_time = "2024-09-20T18:37:13.513Z" }, - { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210, upload_time = "2024-09-20T13:08:48.325Z" }, - { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292, upload_time = "2024-09-20T19:01:54.443Z" }, - { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379, upload_time = "2024-09-20T13:08:50.882Z" }, - { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471, upload_time = "2024-09-20T13:08:53.332Z" }, - { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222, upload_time = "2024-09-20T13:08:56.254Z" }, - { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274, upload_time = "2024-09-20T13:08:58.645Z" }, - { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836, upload_time = "2024-09-20T19:01:57.571Z" }, - { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505, upload_time = "2024-09-20T13:09:01.501Z" }, - { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420, upload_time = "2024-09-20T19:02:00.678Z" }, - { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457, upload_time = "2024-09-20T13:09:04.105Z" }, - { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166, upload_time = "2024-09-20T13:09:06.917Z" }, - { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893, upload_time = "2024-09-20T13:09:09.655Z" }, - { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475, upload_time = "2024-09-20T13:09:14.718Z" }, - { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645, upload_time = "2024-09-20T19:02:03.88Z" }, - { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445, upload_time = "2024-09-20T13:09:17.621Z" }, - { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235, upload_time = "2024-09-20T19:02:07.094Z" }, - { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756, upload_time = "2024-09-20T13:09:20.474Z" }, - { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248, upload_time = "2024-09-20T13:09:23.137Z" }, - { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload_time = "2024-09-20T13:09:25.522Z" }, - { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload_time = "2024-09-20T13:09:28.012Z" }, - { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload_time = "2024-09-20T19:02:10.451Z" }, - { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload_time = "2024-09-20T13:09:30.814Z" }, - { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload_time = "2024-09-20T19:02:13.825Z" }, - { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload_time = "2024-09-20T13:09:33.462Z" }, - { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload_time = "2024-09-20T13:09:35.871Z" }, - { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload_time = "2024-09-20T13:09:38.685Z" }, - { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload_time = "2024-09-20T13:09:41.141Z" }, - { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload_time = "2024-09-20T19:02:16.905Z" }, - { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload_time = "2024-09-20T13:09:44.39Z" }, - { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload_time = "2024-09-20T19:02:20.639Z" }, - { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload_time = "2024-09-20T13:09:48.112Z" }, - { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535, upload_time = "2024-09-20T13:09:51.339Z" }, - { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822, upload_time = "2024-09-20T13:09:54.31Z" }, - { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439, upload_time = "2024-09-20T19:02:23.689Z" }, - { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928, upload_time = "2024-09-20T13:09:56.746Z" }, - { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266, upload_time = "2024-09-20T19:02:26.247Z" }, - { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871, upload_time = "2024-09-20T13:09:59.779Z" }, - { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011, upload_time = "2024-09-20T13:10:02.351Z" }, -] - -[[package]] -name = "pandas-stubs" -version = "2.2.2.240807" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "types-pytz", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1f/df/0da95bc75c76f1e012e0bc0b76da31faaf4254e94b9870f25e6311145e98/pandas_stubs-2.2.2.240807.tar.gz", hash = "sha256:64a559725a57a449f46225fbafc422520b7410bff9252b661a225b5559192a93", size = 103095, upload_time = "2024-08-07T12:30:54.538Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/f9/22c91632ea1b4c6165952f677bf9ad95f9ac36ffd7ef3e6450144e6d8b1a/pandas_stubs-2.2.2.240807-py3-none-any.whl", hash = "sha256:893919ad82be4275f0d07bb47a95d08bae580d3fdea308a7acfcb3f02e76186e", size = 157069, upload_time = "2024-08-07T12:30:51.868Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload_time = "2025-06-05T03:27:54.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/2d/df6b98c736ba51b8eaa71229e8fcd91233a831ec00ab520e1e23090cc072/pandas-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:625466edd01d43b75b1883a64d859168e4556261a5035b32f9d743b67ef44634", size = 11527531, upload_time = "2025-06-05T03:25:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/77/1c/3f8c331d223f86ba1d0ed7d3ed7fcf1501c6f250882489cc820d2567ddbf/pandas-2.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a6872d695c896f00df46b71648eea332279ef4077a409e2fe94220208b6bb675", size = 10774764, upload_time = "2025-06-05T03:25:53.228Z" }, + { url = "https://files.pythonhosted.org/packages/1b/45/d2599400fad7fe06b849bd40b52c65684bc88fbe5f0a474d0513d057a377/pandas-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4dd97c19bd06bc557ad787a15b6489d2614ddaab5d104a0310eb314c724b2d2", size = 11711963, upload_time = "2025-06-05T03:25:56.855Z" }, + { url = "https://files.pythonhosted.org/packages/66/f8/5508bc45e994e698dbc93607ee6b9b6eb67df978dc10ee2b09df80103d9e/pandas-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:034abd6f3db8b9880aaee98f4f5d4dbec7c4829938463ec046517220b2f8574e", size = 12349446, upload_time = "2025-06-05T03:26:01.292Z" }, + { url = "https://files.pythonhosted.org/packages/f7/fc/17851e1b1ea0c8456ba90a2f514c35134dd56d981cf30ccdc501a0adeac4/pandas-2.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23c2b2dc5213810208ca0b80b8666670eb4660bbfd9d45f58592cc4ddcfd62e1", size = 12920002, upload_time = "2025-06-06T00:00:07.925Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9b/8743be105989c81fa33f8e2a4e9822ac0ad4aaf812c00fee6bb09fc814f9/pandas-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:39ff73ec07be5e90330cc6ff5705c651ace83374189dcdcb46e6ff54b4a72cd6", size = 13651218, upload_time = "2025-06-05T03:26:09.731Z" }, + { url = "https://files.pythonhosted.org/packages/26/fa/8eeb2353f6d40974a6a9fd4081ad1700e2386cf4264a8f28542fd10b3e38/pandas-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:40cecc4ea5abd2921682b57532baea5588cc5f80f0231c624056b146887274d2", size = 11082485, upload_time = "2025-06-05T03:26:17.572Z" }, + { url = "https://files.pythonhosted.org/packages/96/1e/ba313812a699fe37bf62e6194265a4621be11833f5fce46d9eae22acb5d7/pandas-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8adff9f138fc614347ff33812046787f7d43b3cef7c0f0171b3340cae333f6ca", size = 11551836, upload_time = "2025-06-05T03:26:22.784Z" }, + { url = "https://files.pythonhosted.org/packages/1b/cc/0af9c07f8d714ea563b12383a7e5bde9479cf32413ee2f346a9c5a801f22/pandas-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e5f08eb9a445d07720776df6e641975665c9ea12c9d8a331e0f6890f2dcd76ef", size = 10807977, upload_time = "2025-06-05T16:50:11.109Z" }, + { url = "https://files.pythonhosted.org/packages/ee/3e/8c0fb7e2cf4a55198466ced1ca6a9054ae3b7e7630df7757031df10001fd/pandas-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa35c266c8cd1a67d75971a1912b185b492d257092bdd2709bbdebe574ed228d", size = 11788230, upload_time = "2025-06-05T03:26:27.417Z" }, + { url = "https://files.pythonhosted.org/packages/14/22/b493ec614582307faf3f94989be0f7f0a71932ed6f56c9a80c0bb4a3b51e/pandas-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a0cc77b0f089d2d2ffe3007db58f170dae9b9f54e569b299db871a3ab5bf46", size = 12370423, upload_time = "2025-06-05T03:26:34.142Z" }, + { url = "https://files.pythonhosted.org/packages/9f/74/b012addb34cda5ce855218a37b258c4e056a0b9b334d116e518d72638737/pandas-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c06f6f144ad0a1bf84699aeea7eff6068ca5c63ceb404798198af7eb86082e33", size = 12990594, upload_time = "2025-06-06T00:00:13.934Z" }, + { url = "https://files.pythonhosted.org/packages/95/81/b310e60d033ab64b08e66c635b94076488f0b6ce6a674379dd5b224fc51c/pandas-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ed16339bc354a73e0a609df36d256672c7d296f3f767ac07257801aa064ff73c", size = 13745952, upload_time = "2025-06-05T03:26:39.475Z" }, + { url = "https://files.pythonhosted.org/packages/25/ac/f6ee5250a8881b55bd3aecde9b8cfddea2f2b43e3588bca68a4e9aaf46c8/pandas-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fa07e138b3f6c04addfeaf56cc7fdb96c3b68a3fe5e5401251f231fce40a0d7a", size = 11094534, upload_time = "2025-06-05T03:26:43.23Z" }, + { url = "https://files.pythonhosted.org/packages/94/46/24192607058dd607dbfacdd060a2370f6afb19c2ccb617406469b9aeb8e7/pandas-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2eb4728a18dcd2908c7fccf74a982e241b467d178724545a48d0caf534b38ebf", size = 11573865, upload_time = "2025-06-05T03:26:46.774Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cc/ae8ea3b800757a70c9fdccc68b67dc0280a6e814efcf74e4211fd5dea1ca/pandas-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9d8c3187be7479ea5c3d30c32a5d73d62a621166675063b2edd21bc47614027", size = 10702154, upload_time = "2025-06-05T16:50:14.439Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ba/a7883d7aab3d24c6540a2768f679e7414582cc389876d469b40ec749d78b/pandas-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ff730713d4c4f2f1c860e36c005c7cefc1c7c80c21c0688fd605aa43c9fcf09", size = 11262180, upload_time = "2025-06-05T16:50:17.453Z" }, + { url = "https://files.pythonhosted.org/packages/01/a5/931fc3ad333d9d87b10107d948d757d67ebcfc33b1988d5faccc39c6845c/pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba24af48643b12ffe49b27065d3babd52702d95ab70f50e1b34f71ca703e2c0d", size = 11991493, upload_time = "2025-06-05T03:26:51.813Z" }, + { url = "https://files.pythonhosted.org/packages/d7/bf/0213986830a92d44d55153c1d69b509431a972eb73f204242988c4e66e86/pandas-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:404d681c698e3c8a40a61d0cd9412cc7364ab9a9cc6e144ae2992e11a2e77a20", size = 12470733, upload_time = "2025-06-06T00:00:18.651Z" }, + { url = "https://files.pythonhosted.org/packages/a4/0e/21eb48a3a34a7d4bac982afc2c4eb5ab09f2d988bdf29d92ba9ae8e90a79/pandas-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6021910b086b3ca756755e86ddc64e0ddafd5e58e076c72cb1585162e5ad259b", size = 13212406, upload_time = "2025-06-05T03:26:55.992Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d9/74017c4eec7a28892d8d6e31ae9de3baef71f5a5286e74e6b7aad7f8c837/pandas-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:094e271a15b579650ebf4c5155c05dcd2a14fd4fdd72cf4854b2f7ad31ea30be", size = 10976199, upload_time = "2025-06-05T03:26:59.594Z" }, + { url = "https://files.pythonhosted.org/packages/d3/57/5cb75a56a4842bbd0511c3d1c79186d8315b82dac802118322b2de1194fe/pandas-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c7e2fc25f89a49a11599ec1e76821322439d90820108309bf42130d2f36c983", size = 11518913, upload_time = "2025-06-05T03:27:02.757Z" }, + { url = "https://files.pythonhosted.org/packages/05/01/0c8785610e465e4948a01a059562176e4c8088aa257e2e074db868f86d4e/pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6da97aeb6a6d233fb6b17986234cc723b396b50a3c6804776351994f2a658fd", size = 10655249, upload_time = "2025-06-05T16:50:20.17Z" }, + { url = "https://files.pythonhosted.org/packages/e8/6a/47fd7517cd8abe72a58706aab2b99e9438360d36dcdb052cf917b7bf3bdc/pandas-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb32dc743b52467d488e7a7c8039b821da2826a9ba4f85b89ea95274f863280f", size = 11328359, upload_time = "2025-06-05T03:27:06.431Z" }, + { url = "https://files.pythonhosted.org/packages/2a/b3/463bfe819ed60fb7e7ddffb4ae2ee04b887b3444feee6c19437b8f834837/pandas-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:213cd63c43263dbb522c1f8a7c9d072e25900f6975596f883f4bebd77295d4f3", size = 12024789, upload_time = "2025-06-05T03:27:09.875Z" }, + { url = "https://files.pythonhosted.org/packages/04/0c/e0704ccdb0ac40aeb3434d1c641c43d05f75c92e67525df39575ace35468/pandas-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1d2b33e68d0ce64e26a4acc2e72d747292084f4e8db4c847c6f5f6cbe56ed6d8", size = 12480734, upload_time = "2025-06-06T00:00:22.246Z" }, + { url = "https://files.pythonhosted.org/packages/e9/df/815d6583967001153bb27f5cf075653d69d51ad887ebbf4cfe1173a1ac58/pandas-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:430a63bae10b5086995db1b02694996336e5a8ac9a96b4200572b413dfdfccb9", size = 13223381, upload_time = "2025-06-05T03:27:15.641Z" }, + { url = "https://files.pythonhosted.org/packages/79/88/ca5973ed07b7f484c493e941dbff990861ca55291ff7ac67c815ce347395/pandas-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4930255e28ff5545e2ca404637bcc56f031893142773b3468dc021c6c32a1390", size = 10970135, upload_time = "2025-06-05T03:27:24.131Z" }, + { url = "https://files.pythonhosted.org/packages/24/fb/0994c14d1f7909ce83f0b1fb27958135513c4f3f2528bde216180aa73bfc/pandas-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f925f1ef673b4bd0271b1809b72b3270384f2b7d9d14a189b12b7fc02574d575", size = 12141356, upload_time = "2025-06-05T03:27:34.547Z" }, + { url = "https://files.pythonhosted.org/packages/9d/a2/9b903e5962134497ac4f8a96f862ee3081cb2506f69f8e4778ce3d9c9d82/pandas-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78ad363ddb873a631e92a3c063ade1ecfb34cae71e9a2be6ad100f875ac1042", size = 11474674, upload_time = "2025-06-05T03:27:39.448Z" }, + { url = "https://files.pythonhosted.org/packages/81/3a/3806d041bce032f8de44380f866059437fb79e36d6b22c82c187e65f765b/pandas-2.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951805d146922aed8357e4cc5671b8b0b9be1027f0619cea132a9f3f65f2f09c", size = 11439876, upload_time = "2025-06-05T03:27:43.652Z" }, + { url = "https://files.pythonhosted.org/packages/15/aa/3fc3181d12b95da71f5c2537c3e3b3af6ab3a8c392ab41ebb766e0929bc6/pandas-2.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a881bc1309f3fce34696d07b00f13335c41f5f5a8770a33b09ebe23261cfc67", size = 11966182, upload_time = "2025-06-05T03:27:47.652Z" }, + { url = "https://files.pythonhosted.org/packages/37/e7/e12f2d9b0a2c4a2cc86e2aabff7ccfd24f03e597d770abfa2acd313ee46b/pandas-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1991bbb96f4050b09b5f811253c4f3cf05ee89a589379aa36cd623f21a31d6f", size = 12547686, upload_time = "2025-06-06T00:00:26.142Z" }, + { url = "https://files.pythonhosted.org/packages/39/c2/646d2e93e0af70f4e5359d870a63584dacbc324b54d73e6b3267920ff117/pandas-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bb3be958022198531eb7ec2008cfc78c5b1eed51af8600c6c5d9160d89d8d249", size = 13231847, upload_time = "2025-06-05T03:27:51.465Z" }, ] [[package]] name = "pandas-stubs" -version = "2.2.3.250308" +version = "2.2.3.250527" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "types-pytz", marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "types-pytz" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2e/5a/261f5c67a73e46df2d5984fe7129d66a3ed4864fd7aa9d8721abb3fc802e/pandas_stubs-2.2.3.250308.tar.gz", hash = "sha256:3a6e9daf161f00b85c83772ed3d5cff9522028f07a94817472c07b91f46710fd", size = 103986, upload_time = "2025-03-08T20:51:04.999Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/0d/5fe7f7f3596eb1c2526fea151e9470f86b379183d8b9debe44b2098651ca/pandas_stubs-2.2.3.250527.tar.gz", hash = "sha256:e2d694c4e72106055295ad143664e5c99e5815b07190d1ff85b73b13ff019e63", size = 106312, upload_time = "2025-05-27T15:24:29.716Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/64/ab61d9ca06ff66c07eb804ec27dec1a2be1978b3c3767caaa91e363438cc/pandas_stubs-2.2.3.250308-py3-none-any.whl", hash = "sha256:a377edff3b61f8b268c82499fdbe7c00fdeed13235b8b71d6a1dc347aeddc74d", size = 158053, upload_time = "2025-03-08T20:51:03.411Z" }, + { url = "https://files.pythonhosted.org/packages/ec/f8/46141ba8c9d7064dc5008bfb4a6ae5bd3c30e4c61c28b5c5ed485bf358ba/pandas_stubs-2.2.3.250527-py3-none-any.whl", hash = "sha256:cd0a49a95b8c5f944e605be711042a4dd8550e2c559b43d70ba2c4b524b66163", size = 159683, upload_time = "2025-05-27T15:24:28.4Z" }, ] [[package]] @@ -1942,6 +1542,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload_time = "2024-04-05T09:43:53.299Z" }, ] +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload_time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload_time = "2023-12-10T22:30:43.14Z" }, +] + [[package]] name = "petl" version = "1.7.16" @@ -2009,17 +1618,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b3/92/1ca0c3f09233bd7decf8f7105a1c4e3162fb9142128c74adad0fb361b7eb/pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd", size = 2335774, upload_time = "2025-04-12T17:49:04.889Z" }, { url = "https://files.pythonhosted.org/packages/a5/ac/77525347cb43b83ae905ffe257bbe2cc6fd23acb9796639a1f56aa59d191/pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e", size = 2681895, upload_time = "2025-04-12T17:49:06.635Z" }, { url = "https://files.pythonhosted.org/packages/67/32/32dc030cfa91ca0fc52baebbba2e009bb001122a1daa8b6a79ad830b38d3/pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681", size = 2417234, upload_time = "2025-04-12T17:49:08.399Z" }, - { url = "https://files.pythonhosted.org/packages/21/3a/c1835d1c7cf83559e95b4f4ed07ab0bb7acc689712adfce406b3f456e9fd/pillow-11.2.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7491cf8a79b8eb867d419648fff2f83cb0b3891c8b36da92cc7f1931d46108c8", size = 3198391, upload_time = "2025-04-12T17:49:10.122Z" }, - { url = "https://files.pythonhosted.org/packages/b6/4d/dcb7a9af3fc1e8653267c38ed622605d9d1793349274b3ef7af06457e257/pillow-11.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b02d8f9cb83c52578a0b4beadba92e37d83a4ef11570a8688bbf43f4ca50909", size = 3030573, upload_time = "2025-04-12T17:49:11.938Z" }, - { url = "https://files.pythonhosted.org/packages/9d/29/530ca098c1a1eb31d4e163d317d0e24e6d2ead907991c69ca5b663de1bc5/pillow-11.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:014ca0050c85003620526b0ac1ac53f56fc93af128f7546623cc8e31875ab928", size = 4398677, upload_time = "2025-04-12T17:49:13.861Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ee/0e5e51db34de1690264e5f30dcd25328c540aa11d50a3bc0b540e2a445b6/pillow-11.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3692b68c87096ac6308296d96354eddd25f98740c9d2ab54e1549d6c8aea9d79", size = 4484986, upload_time = "2025-04-12T17:49:15.948Z" }, - { url = "https://files.pythonhosted.org/packages/93/7d/bc723b41ce3d2c28532c47678ec988974f731b5c6fadd5b3a4fba9015e4f/pillow-11.2.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f781dcb0bc9929adc77bad571b8621ecb1e4cdef86e940fe2e5b5ee24fd33b35", size = 4501897, upload_time = "2025-04-12T17:49:17.839Z" }, - { url = "https://files.pythonhosted.org/packages/be/0b/532e31abc7389617ddff12551af625a9b03cd61d2989fa595e43c470ec67/pillow-11.2.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:2b490402c96f907a166615e9a5afacf2519e28295f157ec3a2bb9bd57de638cb", size = 4592618, upload_time = "2025-04-12T17:49:19.7Z" }, - { url = "https://files.pythonhosted.org/packages/4c/f0/21ed6499a6216fef753e2e2254a19d08bff3747108ba042422383f3e9faa/pillow-11.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dd6b20b93b3ccc9c1b597999209e4bc5cf2853f9ee66e3fc9a400a78733ffc9a", size = 4570493, upload_time = "2025-04-12T17:49:21.703Z" }, - { url = "https://files.pythonhosted.org/packages/68/de/17004ddb8ab855573fe1127ab0168d11378cdfe4a7ee2a792a70ff2e9ba7/pillow-11.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4b835d89c08a6c2ee7781b8dd0a30209a8012b5f09c0a665b65b0eb3560b6f36", size = 4647748, upload_time = "2025-04-12T17:49:23.579Z" }, - { url = "https://files.pythonhosted.org/packages/c7/23/82ecb486384bb3578115c509d4a00bb52f463ee700a5ca1be53da3c88c19/pillow-11.2.1-cp39-cp39-win32.whl", hash = "sha256:b10428b3416d4f9c61f94b494681280be7686bda15898a3a9e08eb66a6d92d67", size = 2331731, upload_time = "2025-04-12T17:49:25.58Z" }, - { url = "https://files.pythonhosted.org/packages/58/bb/87efd58b3689537a623d44dbb2550ef0bb5ff6a62769707a0fe8b1a7bdeb/pillow-11.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:6ebce70c3f486acf7591a3d73431fa504a4e18a9b97ff27f5f47b7368e4b9dd1", size = 2676346, upload_time = "2025-04-12T17:49:27.342Z" }, - { url = "https://files.pythonhosted.org/packages/80/08/dc268475b22887b816e5dcfae31bce897f524b4646bab130c2142c9b2400/pillow-11.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:c27476257b2fdcd7872d54cfd119b3a9ce4610fb85c8e32b70b42e3680a29a1e", size = 2414623, upload_time = "2025-04-12T17:49:29.139Z" }, { url = "https://files.pythonhosted.org/packages/33/49/c8c21e4255b4f4a2c0c68ac18125d7f5460b109acc6dfdef1a24f9b960ef/pillow-11.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b7b0d4fd2635f54ad82785d56bc0d94f147096493a79985d0ab57aedd563156", size = 3181727, upload_time = "2025-04-12T17:49:31.898Z" }, { url = "https://files.pythonhosted.org/packages/6d/f1/f7255c0838f8c1ef6d55b625cfb286835c17e8136ce4351c5577d02c443b/pillow-11.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:aa442755e31c64037aa7c1cb186e0b369f8416c567381852c63444dd666fb772", size = 2999833, upload_time = "2025-04-12T17:49:34.2Z" }, { url = "https://files.pythonhosted.org/packages/e2/57/9968114457bd131063da98d87790d080366218f64fa2943b65ac6739abb3/pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d3348c95b766f54b76116d53d4cb171b52992a1027e7ca50c81b43b9d9e363", size = 3437472, upload_time = "2025-04-12T17:49:36.294Z" }, @@ -2056,16 +1654,16 @@ wheels = [ [[package]] name = "polars" -version = "1.30.0" +version = "1.31.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/b6/8dbdf626c0705a57f052708c9fc0860ffc2aa97955930d5faaf6a66fcfd3/polars-1.30.0.tar.gz", hash = "sha256:dfe94ae84a5efd9ba74e616e3e125b24ca155494a931890a8f17480737c4db45", size = 4668318, upload_time = "2025-05-21T13:33:24.175Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/f5/de1b5ecd7d0bd0dd87aa392937f759f9cc3997c5866a9a7f94eabf37cd48/polars-1.31.0.tar.gz", hash = "sha256:59a88054a5fc0135386268ceefdbb6a6cc012d21b5b44fed4f1d3faabbdcbf32", size = 4681224, upload_time = "2025-06-18T12:00:46.24Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/48/e9b2cb379abcc9f7aff2e701098fcdb9fe6d85dc4ad4cec7b35d39c70951/polars-1.30.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:4c33bc97c29b7112f0e689a2f8a33143973a3ff466c70b25c7fd1880225de6dd", size = 35704342, upload_time = "2025-05-21T13:32:22.996Z" }, - { url = "https://files.pythonhosted.org/packages/36/ca/f545f61282f75eea4dfde4db2944963dcd59abd50c20e33a1c894da44dad/polars-1.30.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:e3d05914c364b8e39a5b10dcf97e84d76e516b3b1693880bf189a93aab3ca00d", size = 32459857, upload_time = "2025-05-21T13:32:27.728Z" }, - { url = "https://files.pythonhosted.org/packages/76/20/e018cd87d7cb6f8684355f31f4e193222455a6e8f7b942f4a2934f5969c7/polars-1.30.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a52af3862082b868c1febeae650af8ae8a2105d2cb28f0449179a7b44f54ccf", size = 36267243, upload_time = "2025-05-21T13:32:31.796Z" }, - { url = "https://files.pythonhosted.org/packages/cb/e7/b88b973021be07b13d91b9301cc14392c994225ef5107a32a8ffd3fd6424/polars-1.30.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:ffb3ef133454275d4254442257c5f71dd6e393ce365c97997dadeb6fa9d6d4b5", size = 33416871, upload_time = "2025-05-21T13:32:35.077Z" }, - { url = "https://files.pythonhosted.org/packages/dd/7c/d46d4381adeac537b8520b653dc30cb8b7edbf59883d71fbb989e9005de1/polars-1.30.0-cp39-abi3-win_amd64.whl", hash = "sha256:c26b633a9bd530c5fc09d317fca3bb3e16c772bd7df7549a9d8ec1934773cc5d", size = 36363630, upload_time = "2025-05-21T13:32:38.286Z" }, - { url = "https://files.pythonhosted.org/packages/fb/b5/5056d0c12aadb57390d0627492bef8b1abf3549474abb9ae0fd4e2bfa885/polars-1.30.0-cp39-abi3-win_arm64.whl", hash = "sha256:476f1bde65bc7b4d9f80af370645c2981b5798d67c151055e58534e89e96f2a8", size = 32643590, upload_time = "2025-05-21T13:32:42.107Z" }, + { url = "https://files.pythonhosted.org/packages/3d/6e/bdd0937653c1e7a564a09ae3bc7757ce83fedbf19da600c8b35d62c0182a/polars-1.31.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:ccc68cd6877deecd46b13cbd2663ca89ab2a2cb1fe49d5cfc66a9cef166566d9", size = 34511354, upload_time = "2025-06-18T11:59:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/77/fe/81aaca3540c1a5530b4bc4fd7f1b6f77100243d7bb9b7ad3478b770d8b3e/polars-1.31.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:a94c5550df397ad3c2d6adc212e59fd93d9b044ec974dd3653e121e6487a7d21", size = 31377712, upload_time = "2025-06-18T11:59:45.104Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d9/5e2753784ea30d84b3e769a56f5e50ac5a89c129e87baa16ac0773eb4ef7/polars-1.31.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7940ed92bea65d5500ae7ac1f599798149df8faa5a6db150327c9ddbee4f1", size = 35050729, upload_time = "2025-06-18T11:59:48.538Z" }, + { url = "https://files.pythonhosted.org/packages/20/e8/a6bdfe7b687c1fe84bceb1f854c43415eaf0d2fdf3c679a9dc9c4776e462/polars-1.31.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:b324e6e3e8c6cc6593f9d72fe625f06af65e8d9d47c8686583585533a5e731e1", size = 32260836, upload_time = "2025-06-18T11:59:52.543Z" }, + { url = "https://files.pythonhosted.org/packages/6e/f6/9d9ad9dc4480d66502497e90ce29efc063373e1598f4bd9b6a38af3e08e7/polars-1.31.0-cp39-abi3-win_amd64.whl", hash = "sha256:3fd874d3432fc932863e8cceff2cff8a12a51976b053f2eb6326a0672134a632", size = 35156211, upload_time = "2025-06-18T11:59:55.805Z" }, + { url = "https://files.pythonhosted.org/packages/40/4b/0673a68ac4d6527fac951970e929c3b4440c654f994f0c957bd5556deb38/polars-1.31.0-cp39-abi3-win_arm64.whl", hash = "sha256:62ef23bb9d10dca4c2b945979f9a50812ac4ace4ed9e158a6b5d32a7322e6f75", size = 31469078, upload_time = "2025-06-18T11:59:59.242Z" }, ] [package.optional-dependencies] @@ -2139,20 +1737,11 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/eb/cb/65fa110b483339add6a9bc7b6373614166b14e20375d4daa73483755f830/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f3b117b922af5e4c6b9a9115825726cac7d8b1421c37c2b5e24fbacc8930612c", size = 42839441, upload_time = "2025-04-27T12:32:46.64Z" }, { url = "https://files.pythonhosted.org/packages/98/7b/f30b1954589243207d7a0fbc9997401044bf9a033eec78f6cb50da3f304a/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e724a3fd23ae5b9c010e7be857f4405ed5e679db5c93e66204db1a69f733936a", size = 44503279, upload_time = "2025-04-27T12:32:56.503Z" }, { url = "https://files.pythonhosted.org/packages/37/40/ad395740cd641869a13bcf60851296c89624662575621968dcfafabaa7f6/pyarrow-20.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:82f1ee5133bd8f49d31be1299dc07f585136679666b502540db854968576faf9", size = 25944982, upload_time = "2025-04-27T12:33:04.72Z" }, - { url = "https://files.pythonhosted.org/packages/10/53/421820fa125138c868729b930d4bc487af2c4b01b1c6104818aab7e98f13/pyarrow-20.0.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:1bcbe471ef3349be7714261dea28fe280db574f9d0f77eeccc195a2d161fd861", size = 30844702, upload_time = "2025-04-27T12:33:12.122Z" }, - { url = "https://files.pythonhosted.org/packages/2e/70/fd75e03312b715e90d928fb91ed8d45c9b0520346e5231b1c69293afd4c7/pyarrow-20.0.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:a18a14baef7d7ae49247e75641fd8bcbb39f44ed49a9fc4ec2f65d5031aa3b96", size = 32287180, upload_time = "2025-04-27T12:33:20.597Z" }, - { url = "https://files.pythonhosted.org/packages/c4/e3/21e5758e46219fdedf5e6c800574dd9d17e962e80014cfe08d6d475be863/pyarrow-20.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb497649e505dc36542d0e68eca1a3c94ecbe9799cb67b578b55f2441a247fbc", size = 41351968, upload_time = "2025-04-27T12:33:28.215Z" }, - { url = "https://files.pythonhosted.org/packages/ac/f5/ed6a4c4b11f9215092a35097a985485bb7d879cb79d93d203494e8604f4e/pyarrow-20.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11529a2283cb1f6271d7c23e4a8f9f8b7fd173f7360776b668e509d712a02eec", size = 42415208, upload_time = "2025-04-27T12:33:37.04Z" }, - { url = "https://files.pythonhosted.org/packages/44/e5/466a63668ba25788ee8d38d55f853a60469ae7ad1cda343db9f3f45e0b0a/pyarrow-20.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6fc1499ed3b4b57ee4e090e1cea6eb3584793fe3d1b4297bbf53f09b434991a5", size = 40708556, upload_time = "2025-04-27T12:33:46.483Z" }, - { url = "https://files.pythonhosted.org/packages/e8/d7/4c4d4e4cf6e53e16a519366dfe9223ee4a7a38e6e28c1c0d372b38ba3fe7/pyarrow-20.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:db53390eaf8a4dab4dbd6d93c85c5cf002db24902dbff0ca7d988beb5c9dd15b", size = 42291754, upload_time = "2025-04-27T12:33:55.4Z" }, - { url = "https://files.pythonhosted.org/packages/07/d5/79effb32585b7c18897d3047a2163034f3f9c944d12f7b2fd8df6a2edc70/pyarrow-20.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:851c6a8260ad387caf82d2bbf54759130534723e37083111d4ed481cb253cc0d", size = 42936483, upload_time = "2025-04-27T12:34:03.694Z" }, - { url = "https://files.pythonhosted.org/packages/09/5c/f707603552c058b2e9129732de99a67befb1f13f008cc58856304a62c38b/pyarrow-20.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e22f80b97a271f0a7d9cd07394a7d348f80d3ac63ed7cc38b6d1b696ab3b2619", size = 44558895, upload_time = "2025-04-27T12:34:13.26Z" }, - { url = "https://files.pythonhosted.org/packages/26/cc/1eb6a01c1bbc787f596c270c46bcd2273e35154a84afcb1d0cb4cc72457e/pyarrow-20.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:9965a050048ab02409fb7cbbefeedba04d3d67f2cc899eff505cc084345959ca", size = 25785667, upload_time = "2025-04-27T12:34:19.739Z" }, ] [[package]] name = "pydantic" -version = "2.11.5" +version = "2.11.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-types" }, @@ -2160,9 +1749,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f0/86/8ce9040065e8f924d642c58e4a344e33163a07f6b57f836d0d734e0ad3fb/pydantic-2.11.5.tar.gz", hash = "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", size = 787102, upload_time = "2025-05-22T21:18:08.761Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload_time = "2025-06-14T08:33:17.137Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/69/831ed22b38ff9b4b64b66569f0e5b7b97cf3638346eb95a2147fdb49ad5f/pydantic-2.11.5-py3-none-any.whl", hash = "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7", size = 444229, upload_time = "2025-05-22T21:18:06.329Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload_time = "2025-06-14T08:33:14.905Z" }, ] [[package]] @@ -2232,19 +1821,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload_time = "2025-04-23T18:32:20.188Z" }, { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload_time = "2025-04-23T18:32:22.354Z" }, { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload_time = "2025-04-23T18:32:25.088Z" }, - { url = "https://files.pythonhosted.org/packages/53/ea/bbe9095cdd771987d13c82d104a9c8559ae9aec1e29f139e286fd2e9256e/pydantic_core-2.33.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", size = 2028677, upload_time = "2025-04-23T18:32:27.227Z" }, - { url = "https://files.pythonhosted.org/packages/49/1d/4ac5ed228078737d457a609013e8f7edc64adc37b91d619ea965758369e5/pydantic_core-2.33.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", size = 1864735, upload_time = "2025-04-23T18:32:29.019Z" }, - { url = "https://files.pythonhosted.org/packages/23/9a/2e70d6388d7cda488ae38f57bc2f7b03ee442fbcf0d75d848304ac7e405b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", size = 1898467, upload_time = "2025-04-23T18:32:31.119Z" }, - { url = "https://files.pythonhosted.org/packages/ff/2e/1568934feb43370c1ffb78a77f0baaa5a8b6897513e7a91051af707ffdc4/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", size = 1983041, upload_time = "2025-04-23T18:32:33.655Z" }, - { url = "https://files.pythonhosted.org/packages/01/1a/1a1118f38ab64eac2f6269eb8c120ab915be30e387bb561e3af904b12499/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", size = 2136503, upload_time = "2025-04-23T18:32:35.519Z" }, - { url = "https://files.pythonhosted.org/packages/5c/da/44754d1d7ae0f22d6d3ce6c6b1486fc07ac2c524ed8f6eca636e2e1ee49b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", size = 2736079, upload_time = "2025-04-23T18:32:37.659Z" }, - { url = "https://files.pythonhosted.org/packages/4d/98/f43cd89172220ec5aa86654967b22d862146bc4d736b1350b4c41e7c9c03/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", size = 2006508, upload_time = "2025-04-23T18:32:39.637Z" }, - { url = "https://files.pythonhosted.org/packages/2b/cc/f77e8e242171d2158309f830f7d5d07e0531b756106f36bc18712dc439df/pydantic_core-2.33.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", size = 2113693, upload_time = "2025-04-23T18:32:41.818Z" }, - { url = "https://files.pythonhosted.org/packages/54/7a/7be6a7bd43e0a47c147ba7fbf124fe8aaf1200bc587da925509641113b2d/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", size = 2074224, upload_time = "2025-04-23T18:32:44.033Z" }, - { url = "https://files.pythonhosted.org/packages/2a/07/31cf8fadffbb03be1cb520850e00a8490c0927ec456e8293cafda0726184/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", size = 2245403, upload_time = "2025-04-23T18:32:45.836Z" }, - { url = "https://files.pythonhosted.org/packages/b6/8d/bbaf4c6721b668d44f01861f297eb01c9b35f612f6b8e14173cb204e6240/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", size = 2242331, upload_time = "2025-04-23T18:32:47.618Z" }, - { url = "https://files.pythonhosted.org/packages/bb/93/3cc157026bca8f5006250e74515119fcaa6d6858aceee8f67ab6dc548c16/pydantic_core-2.33.2-cp39-cp39-win32.whl", hash = "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", size = 1910571, upload_time = "2025-04-23T18:32:49.401Z" }, - { url = "https://files.pythonhosted.org/packages/5b/90/7edc3b2a0d9f0dda8806c04e511a67b0b7a41d2187e2003673a996fb4310/pydantic_core-2.33.2-cp39-cp39-win_amd64.whl", hash = "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", size = 1956504, upload_time = "2025-04-23T18:32:51.287Z" }, { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload_time = "2025-04-23T18:32:53.14Z" }, { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload_time = "2025-04-23T18:32:55.52Z" }, { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload_time = "2025-04-23T18:32:57.546Z" }, @@ -2263,37 +1839,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload_time = "2025-04-23T18:33:26.621Z" }, { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload_time = "2025-04-23T18:33:28.656Z" }, { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload_time = "2025-04-23T18:33:30.645Z" }, - { url = "https://files.pythonhosted.org/packages/08/98/dbf3fdfabaf81cda5622154fda78ea9965ac467e3239078e0dcd6df159e7/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", size = 2024034, upload_time = "2025-04-23T18:33:32.843Z" }, - { url = "https://files.pythonhosted.org/packages/8d/99/7810aa9256e7f2ccd492590f86b79d370df1e9292f1f80b000b6a75bd2fb/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", size = 1858578, upload_time = "2025-04-23T18:33:34.912Z" }, - { url = "https://files.pythonhosted.org/packages/d8/60/bc06fa9027c7006cc6dd21e48dbf39076dc39d9abbaf718a1604973a9670/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", size = 1892858, upload_time = "2025-04-23T18:33:36.933Z" }, - { url = "https://files.pythonhosted.org/packages/f2/40/9d03997d9518816c68b4dfccb88969756b9146031b61cd37f781c74c9b6a/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", size = 2068498, upload_time = "2025-04-23T18:33:38.997Z" }, - { url = "https://files.pythonhosted.org/packages/d8/62/d490198d05d2d86672dc269f52579cad7261ced64c2df213d5c16e0aecb1/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", size = 2108428, upload_time = "2025-04-23T18:33:41.18Z" }, - { url = "https://files.pythonhosted.org/packages/9a/ec/4cd215534fd10b8549015f12ea650a1a973da20ce46430b68fc3185573e8/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", size = 2069854, upload_time = "2025-04-23T18:33:43.446Z" }, - { url = "https://files.pythonhosted.org/packages/1a/1a/abbd63d47e1d9b0d632fee6bb15785d0889c8a6e0a6c3b5a8e28ac1ec5d2/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", size = 2237859, upload_time = "2025-04-23T18:33:45.56Z" }, - { url = "https://files.pythonhosted.org/packages/80/1c/fa883643429908b1c90598fd2642af8839efd1d835b65af1f75fba4d94fe/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", size = 2239059, upload_time = "2025-04-23T18:33:47.735Z" }, - { url = "https://files.pythonhosted.org/packages/d4/29/3cade8a924a61f60ccfa10842f75eb12787e1440e2b8660ceffeb26685e7/pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", size = 2066661, upload_time = "2025-04-23T18:33:49.995Z" }, ] [[package]] name = "pygments" -version = "2.19.1" +version = "2.19.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload_time = "2025-01-06T17:26:30.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload_time = "2025-06-21T13:39:12.283Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload_time = "2025-01-06T17:26:25.553Z" }, + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload_time = "2025-06-21T13:39:07.939Z" }, ] [[package]] name = "pymdown-extensions" -version = "10.15" +version = "10.16" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markdown" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/08/92/a7296491dbf5585b3a987f3f3fc87af0e632121ff3e490c14b5f2d2b4eb5/pymdown_extensions-10.15.tar.gz", hash = "sha256:0e5994e32155f4b03504f939e501b981d306daf7ec2aa1cd2eb6bd300784f8f7", size = 852320, upload_time = "2025-04-27T23:48:29.183Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz", hash = "sha256:71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de", size = 853197, upload_time = "2025-06-21T17:56:36.974Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/d1/c54e608505776ce4e7966d03358ae635cfd51dff1da6ee421c090dbc797b/pymdown_extensions-10.15-py3-none-any.whl", hash = "sha256:46e99bb272612b0de3b7e7caf6da8dd5f4ca5212c0b273feb9304e236c484e5f", size = 265845, upload_time = "2025-04-27T23:48:27.359Z" }, + { url = "https://files.pythonhosted.org/packages/98/d4/10bb14004d3c792811e05e21b5e5dcae805aacb739bd12a0540967b99592/pymdown_extensions-10.16-py3-none-any.whl", hash = "sha256:f5dd064a4db588cb2d95229fc4ee63a1b16cc8b4d0e6145c0899ed8723da1df2", size = 266143, upload_time = "2025-06-21T17:56:35.356Z" }, ] [[package]] @@ -2302,8 +1869,8 @@ version = "0.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "packaging" }, ] sdist = { url = "https://files.pythonhosted.org/packages/54/c3/5e30f913ad8a975abe6f6582a2d3cf321bdf40fd696940d9283c63880c7a/pyogrio-0.11.0.tar.gz", hash = "sha256:a7e0a97bc10c0d7204f6bf52e1b928cba0554c35a907c32b23065aed1ed97b3f", size = 286915, upload_time = "2025-05-08T15:20:17.843Z" } @@ -2332,12 +1899,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0d/07/c6c6d33e5b052b6bb785904477e906ed880509bc3748862ef59ed017739a/pyogrio-0.11.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:373a29d56a9016978aff57b88a640b5a8c3024dba7be1c059ad5af4ba932b59e", size = 26493010, upload_time = "2025-05-08T15:19:49.379Z" }, { url = "https://files.pythonhosted.org/packages/9f/bb/e12bebcf2668bcb83736cc76177f36ee300ac8069880fca3a73f8753fc70/pyogrio-0.11.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ea2a131369ae8e62e30fa4f7e1442074d4828417d05ded660acea04a6a1d199b", size = 27710440, upload_time = "2025-05-08T15:19:53.204Z" }, { url = "https://files.pythonhosted.org/packages/46/8f/a9d134fbbf213db259b79f5bd5bbe7e3de1ff34fbe2a0b0be9d7d2919323/pyogrio-0.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:bf041d65bd1e89a4bb61845579c2963f2cca1bb33cde79f4ec2c0e0dc6f93afb", size = 19163300, upload_time = "2025-05-08T15:19:56.67Z" }, - { url = "https://files.pythonhosted.org/packages/aa/df/48dc287d775cdb9c2e921cdb177b86dfc19eedd4b844a8d5357a32c090a8/pyogrio-0.11.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:d981a47fc7ade7eb488c0f8b9e1488973bc60b4a6692f2c7ca3812dc38c474c6", size = 19492284, upload_time = "2025-05-08T15:19:59.879Z" }, - { url = "https://files.pythonhosted.org/packages/81/73/c3fc16692f334bcf0354a67e2695805b402da3635427d1d4a77209725dd7/pyogrio-0.11.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:d583cab4225fa55bfd9bf730436dcc664a90eb77e22367259a49cedb0f6729ce", size = 20678910, upload_time = "2025-05-08T15:20:02.803Z" }, - { url = "https://files.pythonhosted.org/packages/ee/1d/65d7dec70222b3e291cc60059b2e6b25424a8a3c95a59637e8a295816793/pyogrio-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b23ad2b89d4943d3f8eda011d2e50c1cab02cce9cd34cae263a597410886cd43", size = 26855318, upload_time = "2025-05-08T15:20:05.752Z" }, - { url = "https://files.pythonhosted.org/packages/e5/8a/d3927c109b45629b2d9a894f3cbedf055e0cfcad2b0187491c924ad07da1/pyogrio-0.11.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:dd872ee4cc5314b3881015c0dddf55f2f1f25f078bd08fcfe240f2264e6073ac", size = 26362652, upload_time = "2025-05-08T15:20:09.482Z" }, - { url = "https://files.pythonhosted.org/packages/c7/f9/b141b4bc0cf316aba69f5b37f0f195aec9eec4a0b53c65699108a939b0d2/pyogrio-0.11.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:81cd98c44005c455ae2bbe3490623506bf340bb674ec3c161f9260de01f6bd1b", size = 27542770, upload_time = "2025-05-08T15:20:12.522Z" }, - { url = "https://files.pythonhosted.org/packages/4e/df/727edef2170d565a03b996b1290dd51ebcbfaeedb76985a44072bad4e6fd/pyogrio-0.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:5fb0da79e2c73856c2b2178d5ec11b9f2ab36213b356f1221c4514cd94e3e91b", size = 19177787, upload_time = "2025-05-08T15:20:15.553Z" }, ] [[package]] @@ -2349,57 +1910,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120, upload_time = "2025-03-25T05:01:24.908Z" }, ] -[[package]] -name = "pyproj" -version = "3.6.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "certifi", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7d/84/2b39bbf888c753ea48b40d47511548c77aa03445465c35cc4c4e9649b643/pyproj-3.6.1.tar.gz", hash = "sha256:44aa7c704c2b7d8fb3d483bbf75af6cb2350d30a63b144279a09b75fead501bf", size = 225131, upload_time = "2023-09-21T02:07:51.593Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/32/63cf474f4a8d4804b3bdf7c16b8589f38142e8e2f8319dcea27e0bc21a87/pyproj-3.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab7aa4d9ff3c3acf60d4b285ccec134167a948df02347585fdd934ebad8811b4", size = 6142763, upload_time = "2023-09-21T02:07:12.844Z" }, - { url = "https://files.pythonhosted.org/packages/18/86/2e7cb9de40492f1bafbf11f4c9072edc394509a40b5e4c52f8139546f039/pyproj-3.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4bc0472302919e59114aa140fd7213c2370d848a7249d09704f10f5b062031fe", size = 4877123, upload_time = "2023-09-21T02:10:37.905Z" }, - { url = "https://files.pythonhosted.org/packages/5e/c5/928d5a26995dbefbebd7507d982141cd9153bc7e4392b334fff722c4af12/pyproj-3.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5279586013b8d6582e22b6f9e30c49796966770389a9d5b85e25a4223286cd3f", size = 6190576, upload_time = "2023-09-21T02:17:08.637Z" }, - { url = "https://files.pythonhosted.org/packages/f6/2b/b60cf73b0720abca313bfffef34e34f7f7dae23852b2853cf0368d49426b/pyproj-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fafd1f3eb421694857f254a9bdbacd1eb22fc6c24ca74b136679f376f97d35", size = 8328075, upload_time = "2023-09-21T02:07:15.353Z" }, - { url = "https://files.pythonhosted.org/packages/d9/a8/7193f46032636be917bc775506ae987aad72c931b1f691b775ca812a2917/pyproj-3.6.1-cp310-cp310-win32.whl", hash = "sha256:c41e80ddee130450dcb8829af7118f1ab69eaf8169c4bf0ee8d52b72f098dc2f", size = 5635713, upload_time = "2023-09-21T02:07:17.548Z" }, - { url = "https://files.pythonhosted.org/packages/89/8f/27350c8fba71a37cd0d316f100fbd96bf139cc2b5ff1ab0dcbc7ac64010a/pyproj-3.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:db3aedd458e7f7f21d8176f0a1d924f1ae06d725228302b872885a1c34f3119e", size = 6087932, upload_time = "2023-09-21T02:07:19.793Z" }, - { url = "https://files.pythonhosted.org/packages/84/a6/a300c1b14b2112e966e9f90b18f9c13b586bdcf417207cee913ae9005da3/pyproj-3.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ebfbdbd0936e178091309f6cd4fcb4decd9eab12aa513cdd9add89efa3ec2882", size = 6147442, upload_time = "2023-09-21T02:07:21.879Z" }, - { url = "https://files.pythonhosted.org/packages/30/bd/b9bd3761f08754e8dbb34c5a647db2099b348ab5da338e90980caf280e37/pyproj-3.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:447db19c7efad70ff161e5e46a54ab9cc2399acebb656b6ccf63e4bc4a04b97a", size = 4880331, upload_time = "2023-09-21T02:10:40.828Z" }, - { url = "https://files.pythonhosted.org/packages/f4/0a/d82aeeb605b5d6870bc72307c3b5e044e632eb7720df8885e144f51a8eac/pyproj-3.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e13c40183884ec7f94eb8e0f622f08f1d5716150b8d7a134de48c6110fee85", size = 6192425, upload_time = "2023-09-21T02:17:09.049Z" }, - { url = "https://files.pythonhosted.org/packages/64/90/dfe5c00de1ca4dbb82606e79790659d4ed7f0ed8d372bccb3baca2a5abe0/pyproj-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65ad699e0c830e2b8565afe42bd58cc972b47d829b2e0e48ad9638386d994915", size = 8571478, upload_time = "2023-09-21T02:07:23.771Z" }, - { url = "https://files.pythonhosted.org/packages/14/6d/ae373629a1723f0db80d7b8c93598b00d9ecb930ed9ebf4f35826a33e97c/pyproj-3.6.1-cp311-cp311-win32.whl", hash = "sha256:8b8acc31fb8702c54625f4d5a2a6543557bec3c28a0ef638778b7ab1d1772132", size = 5634575, upload_time = "2023-09-21T02:07:26.535Z" }, - { url = "https://files.pythonhosted.org/packages/79/95/eb68113c5b5737c342bde1bab92705dabe69c16299c5a122616e50f1fbd6/pyproj-3.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:38a3361941eb72b82bd9a18f60c78b0df8408416f9340521df442cebfc4306e2", size = 6088494, upload_time = "2023-09-21T02:07:28.75Z" }, - { url = "https://files.pythonhosted.org/packages/0b/64/93232511a7906a492b1b7dfdfc17f4e95982d76a24ef4f86d18cfe7ae2c9/pyproj-3.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1e9fbaf920f0f9b4ee62aab832be3ae3968f33f24e2e3f7fbb8c6728ef1d9746", size = 6135280, upload_time = "2023-09-21T02:07:30.911Z" }, - { url = "https://files.pythonhosted.org/packages/10/f2/b550b1f65cc7e51c9116b220b50aade60c439103432a3fd5b12efbc77e15/pyproj-3.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d227a865356f225591b6732430b1d1781e946893789a609bb34f59d09b8b0f8", size = 4880030, upload_time = "2023-09-21T02:10:43.067Z" }, - { url = "https://files.pythonhosted.org/packages/fe/4b/2f8f6f94643b9fe2083338eff294feda84d916409b5840b7a402d2be93f8/pyproj-3.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83039e5ae04e5afc974f7d25ee0870a80a6bd6b7957c3aca5613ccbe0d3e72bf", size = 6184439, upload_time = "2023-09-21T02:17:43.499Z" }, - { url = "https://files.pythonhosted.org/packages/19/9b/c57569132174786aa3f72275ac306956859a639dad0ce8d95c8411ce8209/pyproj-3.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb059ba3bced6f6725961ba758649261d85ed6ce670d3e3b0a26e81cf1aa8d", size = 8660747, upload_time = "2023-09-21T02:07:32.586Z" }, - { url = "https://files.pythonhosted.org/packages/0e/ab/1c2159ec757677c5a6b8803f6be45c2b550dc42c84ec4a228dc219849bbb/pyproj-3.6.1-cp312-cp312-win32.whl", hash = "sha256:2d6ff73cc6dbbce3766b6c0bce70ce070193105d8de17aa2470009463682a8eb", size = 5626805, upload_time = "2023-09-21T02:07:35.28Z" }, - { url = "https://files.pythonhosted.org/packages/c7/f3/2f32fe143cd7ba1d4d68f1b6dce9ca402d909cbd5a5830e3a8fa3d1acbbf/pyproj-3.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:7a27151ddad8e1439ba70c9b4b2b617b290c39395fa9ddb7411ebb0eb86d6fb0", size = 6079779, upload_time = "2023-09-21T02:07:37.486Z" }, - { url = "https://files.pythonhosted.org/packages/d7/50/d369bbe62d7a0d1e2cb40bc211da86a3f6e0f3c99f872957a72c3d5492d6/pyproj-3.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ba1f9b03d04d8cab24d6375609070580a26ce76eaed54631f03bab00a9c737b", size = 6144755, upload_time = "2023-09-21T02:07:39.611Z" }, - { url = "https://files.pythonhosted.org/packages/2c/c2/8d4f61065dfed965e53badd41201ad86a05af0c1bbc75dffb12ef0f5a7dd/pyproj-3.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18faa54a3ca475bfe6255156f2f2874e9a1c8917b0004eee9f664b86ccc513d3", size = 4879187, upload_time = "2023-09-21T02:10:45.519Z" }, - { url = "https://files.pythonhosted.org/packages/31/38/2cf8777cb2d5622a78195e690281b7029098795fde4751aec8128238b8bb/pyproj-3.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd43bd9a9b9239805f406fd82ba6b106bf4838d9ef37c167d3ed70383943ade1", size = 6192339, upload_time = "2023-09-21T02:17:09.942Z" }, - { url = "https://files.pythonhosted.org/packages/97/0a/b1525be9680369cc06dd288e12c59d24d5798b4afcdcf1b0915836e1caa6/pyproj-3.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50100b2726a3ca946906cbaa789dd0749f213abf0cbb877e6de72ca7aa50e1ae", size = 8332638, upload_time = "2023-09-21T02:07:41.777Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e8/e826e0a962f36bd925a933829cf6ef218efe2055db5ea292be40974a929d/pyproj-3.6.1-cp39-cp39-win32.whl", hash = "sha256:9274880263256f6292ff644ca92c46d96aa7e57a75c6df3f11d636ce845a1877", size = 5638159, upload_time = "2023-09-21T02:07:43.49Z" }, - { url = "https://files.pythonhosted.org/packages/43/d0/cbe29a4dcf38ee7e72bf695d0d3f2bee21b4f22ee6cf579ad974de9edfc8/pyproj-3.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:36b64c2cb6ea1cc091f329c5bd34f9c01bb5da8c8e4492c709bda6a09f96808f", size = 6090565, upload_time = "2023-09-21T02:07:45.735Z" }, - { url = "https://files.pythonhosted.org/packages/43/28/e8d2ca71dd56c27cbe668e4226963d61956cded222a2e839e6fec1ab6d82/pyproj-3.6.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd93c1a0c6c4aedc77c0fe275a9f2aba4d59b8acf88cebfc19fe3c430cfabf4f", size = 6034252, upload_time = "2023-09-21T02:07:47.906Z" }, - { url = "https://files.pythonhosted.org/packages/cb/39/1ce27cb86f51a1f5aed3a1617802a6131b59ea78492141d1fbe36722595e/pyproj-3.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6420ea8e7d2a88cb148b124429fba8cd2e0fae700a2d96eab7083c0928a85110", size = 6386263, upload_time = "2023-09-21T02:07:49.586Z" }, -] - [[package]] name = "pyproj" version = "3.7.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "certifi", marker = "python_full_version >= '3.10'" }, + { name = "certifi" }, ] sdist = { url = "https://files.pythonhosted.org/packages/67/10/a8480ea27ea4bbe896c168808854d00f2a9b49f95c0319ddcbba693c8a90/pyproj-3.7.1.tar.gz", hash = "sha256:60d72facd7b6b79853f19744779abcd3f804c4e0d4fa8815469db20c9f640a47", size = 226339, upload_time = "2025-02-16T04:28:46.621Z" } wheels = [ @@ -2439,7 +1955,7 @@ wheels = [ [[package]] name = "pytest" -version = "8.3.5" +version = "8.4.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -2447,11 +1963,12 @@ dependencies = [ { name = "iniconfig" }, { name = "packaging" }, { name = "pluggy" }, + { name = "pygments" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload_time = "2025-03-02T12:54:54.503Z" } +sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload_time = "2025-06-18T05:48:06.109Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload_time = "2025-03-02T12:54:52.069Z" }, + { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload_time = "2025-06-18T05:48:03.955Z" }, ] [[package]] @@ -2459,8 +1976,7 @@ name = "python-ags4" version = "1.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "defusedxml" }, { name = "openpyxl" }, { name = "pandas" }, @@ -2521,8 +2037,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1c/09/9c1b978ffc4ae53999e89c19c77ba882d9fce476729f23ef55211ea1c034/pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab", size = 8794384, upload_time = "2025-03-17T00:56:04.383Z" }, { url = "https://files.pythonhosted.org/packages/45/3c/b4640f740ffebadd5d34df35fecba0e1cfef8fde9f3e594df91c28ad9b50/pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e", size = 9503039, upload_time = "2025-03-17T00:56:06.207Z" }, { url = "https://files.pythonhosted.org/packages/b4/f4/f785020090fb050e7fb6d34b780f2231f302609dc964672f72bfaeb59a28/pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33", size = 8458152, upload_time = "2025-03-17T00:56:07.819Z" }, - { url = "https://files.pythonhosted.org/packages/a2/cd/d09d434630edb6a0c44ad5079611279a67530296cfe0451e003de7f449ff/pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a", size = 8848099, upload_time = "2025-03-17T00:55:42.415Z" }, - { url = "https://files.pythonhosted.org/packages/93/ff/2a8c10315ffbdee7b3883ac0d1667e267ca8b3f6f640d81d43b87a82c0c7/pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475", size = 9602031, upload_time = "2025-03-17T00:55:44.512Z" }, ] [[package]] @@ -2567,15 +2081,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload_time = "2024-08-06T20:32:56.985Z" }, { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload_time = "2024-08-06T20:33:03.001Z" }, { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload_time = "2024-08-06T20:33:04.33Z" }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload_time = "2024-08-06T20:33:25.896Z" }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload_time = "2024-08-06T20:33:27.212Z" }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload_time = "2024-08-06T20:33:28.974Z" }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload_time = "2024-08-06T20:33:34.157Z" }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload_time = "2024-08-06T20:33:35.84Z" }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload_time = "2024-08-06T20:33:37.501Z" }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload_time = "2024-08-06T20:33:39.389Z" }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload_time = "2024-08-06T20:33:46.63Z" }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload_time = "2024-08-06T20:33:49.073Z" }, ] [[package]] @@ -2594,7 +2099,7 @@ wheels = [ [[package]] name = "requests" -version = "2.32.3" +version = "2.32.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -2602,9 +2107,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload_time = "2024-05-29T15:37:49.536Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload_time = "2025-06-09T16:43:07.34Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload_time = "2024-05-29T15:37:47.027Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload_time = "2025-06-09T16:43:05.728Z" }, ] [[package]] @@ -2704,19 +2209,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fb/ab/e04bf58a8d375aeedb5268edcc835c6a660ebf79d4384d8e0889439448b0/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", size = 558891, upload_time = "2025-05-21T12:44:37.358Z" }, { url = "https://files.pythonhosted.org/packages/90/82/cb8c6028a6ef6cd2b7991e2e4ced01c854b6236ecf51e81b64b569c43d73/rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", size = 218718, upload_time = "2025-05-21T12:44:38.969Z" }, { url = "https://files.pythonhosted.org/packages/b6/97/5a4b59697111c89477d20ba8a44df9ca16b41e737fa569d5ae8bff99e650/rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", size = 232218, upload_time = "2025-05-21T12:44:40.512Z" }, - { url = "https://files.pythonhosted.org/packages/89/74/716d42058ef501e2c08f27aa3ff455f6fc1bbbd19a6ab8dea07e6322d217/rpds_py-0.25.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", size = 373475, upload_time = "2025-05-21T12:44:42.136Z" }, - { url = "https://files.pythonhosted.org/packages/e1/21/3faa9c523e2496a2505d7440b6f24c9166f37cb7ac027cac6cfbda9b4b5f/rpds_py-0.25.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", size = 359349, upload_time = "2025-05-21T12:44:43.813Z" }, - { url = "https://files.pythonhosted.org/packages/6a/1c/c747fe568d21b1d679079b52b926ebc4d1497457510a1773dc5fd4b7b4e2/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", size = 386526, upload_time = "2025-05-21T12:44:45.452Z" }, - { url = "https://files.pythonhosted.org/packages/0b/cc/4a41703de4fb291f13660fa3d882cbd39db5d60497c6e7fa7f5142e5e69f/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", size = 400526, upload_time = "2025-05-21T12:44:47.011Z" }, - { url = "https://files.pythonhosted.org/packages/f1/78/60c980bedcad8418b614f0b4d6d420ecf11225b579cec0cb4e84d168b4da/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", size = 525726, upload_time = "2025-05-21T12:44:48.838Z" }, - { url = "https://files.pythonhosted.org/packages/3f/37/f2f36b7f1314b3c3200d663decf2f8e29480492a39ab22447112aead4693/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", size = 412045, upload_time = "2025-05-21T12:44:50.433Z" }, - { url = "https://files.pythonhosted.org/packages/df/96/e03783e87a775b1242477ccbc35895f8e9b2bbdb60e199034a6da03c2687/rpds_py-0.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", size = 386953, upload_time = "2025-05-21T12:44:52.092Z" }, - { url = "https://files.pythonhosted.org/packages/7c/7d/1418f4b69bfb4b40481a3d84782113ad7d4cca0b38ae70b982dd5b20102a/rpds_py-0.25.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", size = 421144, upload_time = "2025-05-21T12:44:53.734Z" }, - { url = "https://files.pythonhosted.org/packages/b3/0e/61469912c6493ee3808012e60f4930344b974fcb6b35c4348e70b6be7bc7/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", size = 563730, upload_time = "2025-05-21T12:44:55.846Z" }, - { url = "https://files.pythonhosted.org/packages/f6/86/6d0a5cc56481ac61977b7c839677ed5c63d38cf0fcb3e2280843a8a6f476/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", size = 592321, upload_time = "2025-05-21T12:44:57.514Z" }, - { url = "https://files.pythonhosted.org/packages/5d/87/d1e2453fe336f71e6aa296452a8c85c2118b587b1d25ce98014f75838a60/rpds_py-0.25.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", size = 558162, upload_time = "2025-05-21T12:44:59.564Z" }, - { url = "https://files.pythonhosted.org/packages/ad/92/349f04b1644c5cef3e2e6c53b7168a28531945f9e6fca7425f6d20ddbc3c/rpds_py-0.25.1-cp39-cp39-win32.whl", hash = "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", size = 219920, upload_time = "2025-05-21T12:45:01.186Z" }, - { url = "https://files.pythonhosted.org/packages/f2/84/3969bef883a3f37ff2213795257cb7b7e93a115829670befb8de0e003031/rpds_py-0.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", size = 231452, upload_time = "2025-05-21T12:45:02.85Z" }, { url = "https://files.pythonhosted.org/packages/78/ff/566ce53529b12b4f10c0a348d316bd766970b7060b4fd50f888be3b3b281/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", size = 373931, upload_time = "2025-05-21T12:45:05.01Z" }, { url = "https://files.pythonhosted.org/packages/83/5d/deba18503f7c7878e26aa696e97f051175788e19d5336b3b0e76d3ef9256/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", size = 359074, upload_time = "2025-05-21T12:45:06.714Z" }, { url = "https://files.pythonhosted.org/packages/0d/74/313415c5627644eb114df49c56a27edba4d40cfd7c92bd90212b3604ca84/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", size = 387255, upload_time = "2025-05-21T12:45:08.669Z" }, @@ -2740,126 +2232,71 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7a/60/84f821f6bf4e0e710acc5039d91f8f594fae0d93fc368704920d8971680d/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", size = 564534, upload_time = "2025-05-21T12:45:42.672Z" }, { url = "https://files.pythonhosted.org/packages/41/3a/bc654eb15d3b38f9330fe0f545016ba154d89cdabc6177b0295910cd0ebe/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", size = 592674, upload_time = "2025-05-21T12:45:44.533Z" }, { url = "https://files.pythonhosted.org/packages/2e/ba/31239736f29e4dfc7a58a45955c5db852864c306131fd6320aea214d5437/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", size = 558781, upload_time = "2025-05-21T12:45:46.281Z" }, - { url = "https://files.pythonhosted.org/packages/78/b2/198266f070c6760e0e8cd00f9f2b9c86133ceebbe7c6d114bdcfea200180/rpds_py-0.25.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", size = 373973, upload_time = "2025-05-21T12:45:48.081Z" }, - { url = "https://files.pythonhosted.org/packages/13/79/1265eae618f88aa5d5e7122bd32dd41700bafe5a8bcea404e998848cd844/rpds_py-0.25.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", size = 359326, upload_time = "2025-05-21T12:45:49.825Z" }, - { url = "https://files.pythonhosted.org/packages/30/ab/6913b96f3ac072e87e76e45fe938263b0ab0d78b6b2cef3f2e56067befc0/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", size = 387544, upload_time = "2025-05-21T12:45:51.764Z" }, - { url = "https://files.pythonhosted.org/packages/b0/23/129ed12d25229acc6deb8cbe90baadd8762e563c267c9594eb2fcc15be0c/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", size = 400240, upload_time = "2025-05-21T12:45:54.061Z" }, - { url = "https://files.pythonhosted.org/packages/b5/e0/6811a38a5efa46b7ee6ed2103c95cb9abb16991544c3b69007aa679b6944/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83", size = 525599, upload_time = "2025-05-21T12:45:56.457Z" }, - { url = "https://files.pythonhosted.org/packages/6c/10/2dc88bcaa0d86bdb59e017a330b1972ffeeb7f5061bb5a180c9a2bb73bbf/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", size = 411154, upload_time = "2025-05-21T12:45:58.525Z" }, - { url = "https://files.pythonhosted.org/packages/cf/d1/a72d522eb7d934fb33e9c501e6ecae00e2035af924d4ff37d964e9a3959b/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", size = 388297, upload_time = "2025-05-21T12:46:00.264Z" }, - { url = "https://files.pythonhosted.org/packages/55/90/0dd7169ec74f042405b6b73512200d637a3088c156f64e1c07c18aa2fe59/rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", size = 421894, upload_time = "2025-05-21T12:46:02.065Z" }, - { url = "https://files.pythonhosted.org/packages/37/e9/45170894add451783ed839c5c4a495e050aa8baa06d720364d9dff394dac/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", size = 564409, upload_time = "2025-05-21T12:46:03.891Z" }, - { url = "https://files.pythonhosted.org/packages/59/d0/31cece9090e76fbdb50c758c165d40da604b03b37c3ba53f010bbfeb130a/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", size = 592681, upload_time = "2025-05-21T12:46:06.009Z" }, - { url = "https://files.pythonhosted.org/packages/f1/4c/22ef535efb2beec614ba7be83e62b439eb83b0b0d7b1775e22d35af3f9b5/rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", size = 558744, upload_time = "2025-05-21T12:46:07.78Z" }, - { url = "https://files.pythonhosted.org/packages/79/ff/f2150efc8daf0581d4dfaf0a2a30b08088b6df900230ee5ae4f7c8cd5163/rpds_py-0.25.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", size = 231305, upload_time = "2025-05-21T12:46:10.52Z" }, ] [[package]] name = "ruff" -version = "0.11.11" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/53/ae4857030d59286924a8bdb30d213d6ff22d8f0957e738d0289990091dd8/ruff-0.11.11.tar.gz", hash = "sha256:7774173cc7c1980e6bf67569ebb7085989a78a103922fb83ef3dfe230cd0687d", size = 4186707, upload_time = "2025-05-22T19:19:34.363Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/14/f2326676197bab099e2a24473158c21656fbf6a207c65f596ae15acb32b9/ruff-0.11.11-py3-none-linux_armv6l.whl", hash = "sha256:9924e5ae54125ed8958a4f7de320dab7380f6e9fa3195e3dc3b137c6842a0092", size = 10229049, upload_time = "2025-05-22T19:18:45.516Z" }, - { url = "https://files.pythonhosted.org/packages/9a/f3/bff7c92dd66c959e711688b2e0768e486bbca46b2f35ac319bb6cce04447/ruff-0.11.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:c8a93276393d91e952f790148eb226658dd275cddfde96c6ca304873f11d2ae4", size = 11053601, upload_time = "2025-05-22T19:18:49.269Z" }, - { url = "https://files.pythonhosted.org/packages/e2/38/8e1a3efd0ef9d8259346f986b77de0f62c7a5ff4a76563b6b39b68f793b9/ruff-0.11.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d6e333dbe2e6ae84cdedefa943dfd6434753ad321764fd937eef9d6b62022bcd", size = 10367421, upload_time = "2025-05-22T19:18:51.754Z" }, - { url = "https://files.pythonhosted.org/packages/b4/50/557ad9dd4fb9d0bf524ec83a090a3932d284d1a8b48b5906b13b72800e5f/ruff-0.11.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7885d9a5e4c77b24e8c88aba8c80be9255fa22ab326019dac2356cff42089fc6", size = 10581980, upload_time = "2025-05-22T19:18:54.011Z" }, - { url = "https://files.pythonhosted.org/packages/c4/b2/e2ed82d6e2739ece94f1bdbbd1d81b712d3cdaf69f0a1d1f1a116b33f9ad/ruff-0.11.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1b5ab797fcc09121ed82e9b12b6f27e34859e4227080a42d090881be888755d4", size = 10089241, upload_time = "2025-05-22T19:18:56.041Z" }, - { url = "https://files.pythonhosted.org/packages/3d/9f/b4539f037a5302c450d7c695c82f80e98e48d0d667ecc250e6bdeb49b5c3/ruff-0.11.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e231ff3132c1119ece836487a02785f099a43992b95c2f62847d29bace3c75ac", size = 11699398, upload_time = "2025-05-22T19:18:58.248Z" }, - { url = "https://files.pythonhosted.org/packages/61/fb/32e029d2c0b17df65e6eaa5ce7aea5fbeaed22dddd9fcfbbf5fe37c6e44e/ruff-0.11.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a97c9babe1d4081037a90289986925726b802d180cca784ac8da2bbbc335f709", size = 12427955, upload_time = "2025-05-22T19:19:00.981Z" }, - { url = "https://files.pythonhosted.org/packages/6e/e3/160488dbb11f18c8121cfd588e38095ba779ae208292765972f7732bfd95/ruff-0.11.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8c4ddcbe8a19f59f57fd814b8b117d4fcea9bee7c0492e6cf5fdc22cfa563c8", size = 12069803, upload_time = "2025-05-22T19:19:03.258Z" }, - { url = "https://files.pythonhosted.org/packages/ff/16/3b006a875f84b3d0bff24bef26b8b3591454903f6f754b3f0a318589dcc3/ruff-0.11.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6224076c344a7694c6fbbb70d4f2a7b730f6d47d2a9dc1e7f9d9bb583faf390b", size = 11242630, upload_time = "2025-05-22T19:19:05.871Z" }, - { url = "https://files.pythonhosted.org/packages/65/0d/0338bb8ac0b97175c2d533e9c8cdc127166de7eb16d028a43c5ab9e75abd/ruff-0.11.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:882821fcdf7ae8db7a951df1903d9cb032bbe838852e5fc3c2b6c3ab54e39875", size = 11507310, upload_time = "2025-05-22T19:19:08.584Z" }, - { url = "https://files.pythonhosted.org/packages/6f/bf/d7130eb26174ce9b02348b9f86d5874eafbf9f68e5152e15e8e0a392e4a3/ruff-0.11.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:dcec2d50756463d9df075a26a85a6affbc1b0148873da3997286caf1ce03cae1", size = 10441144, upload_time = "2025-05-22T19:19:13.621Z" }, - { url = "https://files.pythonhosted.org/packages/b3/f3/4be2453b258c092ff7b1761987cf0749e70ca1340cd1bfb4def08a70e8d8/ruff-0.11.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99c28505ecbaeb6594701a74e395b187ee083ee26478c1a795d35084d53ebd81", size = 10081987, upload_time = "2025-05-22T19:19:15.821Z" }, - { url = "https://files.pythonhosted.org/packages/6c/6e/dfa4d2030c5b5c13db158219f2ec67bf333e8a7748dccf34cfa2a6ab9ebc/ruff-0.11.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9263f9e5aa4ff1dec765e99810f1cc53f0c868c5329b69f13845f699fe74f639", size = 11073922, upload_time = "2025-05-22T19:19:18.104Z" }, - { url = "https://files.pythonhosted.org/packages/ff/f4/f7b0b0c3d32b593a20ed8010fa2c1a01f2ce91e79dda6119fcc51d26c67b/ruff-0.11.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:64ac6f885e3ecb2fdbb71de2701d4e34526651f1e8503af8fb30d4915a3fe345", size = 11568537, upload_time = "2025-05-22T19:19:20.889Z" }, - { url = "https://files.pythonhosted.org/packages/d2/46/0e892064d0adc18bcc81deed9aaa9942a27fd2cd9b1b7791111ce468c25f/ruff-0.11.11-py3-none-win32.whl", hash = "sha256:1adcb9a18802268aaa891ffb67b1c94cd70578f126637118e8099b8e4adcf112", size = 10536492, upload_time = "2025-05-22T19:19:23.642Z" }, - { url = "https://files.pythonhosted.org/packages/1b/d9/232e79459850b9f327e9f1dc9c047a2a38a6f9689e1ec30024841fc4416c/ruff-0.11.11-py3-none-win_amd64.whl", hash = "sha256:748b4bb245f11e91a04a4ff0f96e386711df0a30412b9fe0c74d5bdc0e4a531f", size = 11612562, upload_time = "2025-05-22T19:19:27.013Z" }, - { url = "https://files.pythonhosted.org/packages/ce/eb/09c132cff3cc30b2e7244191dcce69437352d6d6709c0adf374f3e6f476e/ruff-0.11.11-py3-none-win_arm64.whl", hash = "sha256:6c51f136c0364ab1b774767aa8b86331bd8e9d414e2d107db7a2189f35ea1f7b", size = 10735951, upload_time = "2025-05-22T19:19:30.043Z" }, +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/90/5255432602c0b196a0da6720f6f76b93eb50baef46d3c9b0025e2f9acbf3/ruff-0.12.0.tar.gz", hash = "sha256:4d047db3662418d4a848a3fdbfaf17488b34b62f527ed6f10cb8afd78135bc5c", size = 4376101, upload_time = "2025-06-17T15:19:26.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/fd/b46bb20e14b11ff49dbc74c61de352e0dc07fb650189513631f6fb5fc69f/ruff-0.12.0-py3-none-linux_armv6l.whl", hash = "sha256:5652a9ecdb308a1754d96a68827755f28d5dfb416b06f60fd9e13f26191a8848", size = 10311554, upload_time = "2025-06-17T15:18:45.792Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d3/021dde5a988fa3e25d2468d1dadeea0ae89dc4bc67d0140c6e68818a12a1/ruff-0.12.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:05ed0c914fabc602fc1f3b42c53aa219e5736cb030cdd85640c32dbc73da74a6", size = 11118435, upload_time = "2025-06-17T15:18:49.064Z" }, + { url = "https://files.pythonhosted.org/packages/07/a2/01a5acf495265c667686ec418f19fd5c32bcc326d4c79ac28824aecd6a32/ruff-0.12.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:07a7aa9b69ac3fcfda3c507916d5d1bca10821fe3797d46bad10f2c6de1edda0", size = 10466010, upload_time = "2025-06-17T15:18:51.341Z" }, + { url = "https://files.pythonhosted.org/packages/4c/57/7caf31dd947d72e7aa06c60ecb19c135cad871a0a8a251723088132ce801/ruff-0.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7731c3eec50af71597243bace7ec6104616ca56dda2b99c89935fe926bdcd48", size = 10661366, upload_time = "2025-06-17T15:18:53.29Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ba/aa393b972a782b4bc9ea121e0e358a18981980856190d7d2b6187f63e03a/ruff-0.12.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:952d0630eae628250ab1c70a7fffb641b03e6b4a2d3f3ec6c1d19b4ab6c6c807", size = 10173492, upload_time = "2025-06-17T15:18:55.262Z" }, + { url = "https://files.pythonhosted.org/packages/d7/50/9349ee777614bc3062fc6b038503a59b2034d09dd259daf8192f56c06720/ruff-0.12.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c021f04ea06966b02614d442e94071781c424ab8e02ec7af2f037b4c1e01cc82", size = 11761739, upload_time = "2025-06-17T15:18:58.906Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/ad459de67c70ec112e2ba7206841c8f4eb340a03ee6a5cabc159fe558b8e/ruff-0.12.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d235618283718ee2fe14db07f954f9b2423700919dc688eacf3f8797a11315c", size = 12537098, upload_time = "2025-06-17T15:19:01.316Z" }, + { url = "https://files.pythonhosted.org/packages/ed/50/15ad9c80ebd3c4819f5bd8883e57329f538704ed57bac680d95cb6627527/ruff-0.12.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c0758038f81beec8cc52ca22de9685b8ae7f7cc18c013ec2050012862cc9165", size = 12154122, upload_time = "2025-06-17T15:19:03.727Z" }, + { url = "https://files.pythonhosted.org/packages/76/e6/79b91e41bc8cc3e78ee95c87093c6cacfa275c786e53c9b11b9358026b3d/ruff-0.12.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139b3d28027987b78fc8d6cfb61165447bdf3740e650b7c480744873688808c2", size = 11363374, upload_time = "2025-06-17T15:19:05.875Z" }, + { url = "https://files.pythonhosted.org/packages/db/c3/82b292ff8a561850934549aa9dc39e2c4e783ab3c21debe55a495ddf7827/ruff-0.12.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68853e8517b17bba004152aebd9dd77d5213e503a5f2789395b25f26acac0da4", size = 11587647, upload_time = "2025-06-17T15:19:08.246Z" }, + { url = "https://files.pythonhosted.org/packages/2b/42/d5760d742669f285909de1bbf50289baccb647b53e99b8a3b4f7ce1b2001/ruff-0.12.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3a9512af224b9ac4757f7010843771da6b2b0935a9e5e76bb407caa901a1a514", size = 10527284, upload_time = "2025-06-17T15:19:10.37Z" }, + { url = "https://files.pythonhosted.org/packages/19/f6/fcee9935f25a8a8bba4adbae62495c39ef281256693962c2159e8b284c5f/ruff-0.12.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b08df3d96db798e5beb488d4df03011874aff919a97dcc2dd8539bb2be5d6a88", size = 10158609, upload_time = "2025-06-17T15:19:12.286Z" }, + { url = "https://files.pythonhosted.org/packages/37/fb/057febf0eea07b9384787bfe197e8b3384aa05faa0d6bd844b94ceb29945/ruff-0.12.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6a315992297a7435a66259073681bb0d8647a826b7a6de45c6934b2ca3a9ed51", size = 11141462, upload_time = "2025-06-17T15:19:15.195Z" }, + { url = "https://files.pythonhosted.org/packages/10/7c/1be8571011585914b9d23c95b15d07eec2d2303e94a03df58294bc9274d4/ruff-0.12.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e55e44e770e061f55a7dbc6e9aed47feea07731d809a3710feda2262d2d4d8a", size = 11641616, upload_time = "2025-06-17T15:19:17.6Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ef/b960ab4818f90ff59e571d03c3f992828d4683561095e80f9ef31f3d58b7/ruff-0.12.0-py3-none-win32.whl", hash = "sha256:7162a4c816f8d1555eb195c46ae0bd819834d2a3f18f98cc63819a7b46f474fb", size = 10525289, upload_time = "2025-06-17T15:19:19.688Z" }, + { url = "https://files.pythonhosted.org/packages/34/93/8b16034d493ef958a500f17cda3496c63a537ce9d5a6479feec9558f1695/ruff-0.12.0-py3-none-win_amd64.whl", hash = "sha256:d00b7a157b8fb6d3827b49d3324da34a1e3f93492c1f97b08e222ad7e9b291e0", size = 11598311, upload_time = "2025-06-17T15:19:21.785Z" }, + { url = "https://files.pythonhosted.org/packages/d0/33/4d3e79e4a84533d6cd526bfb42c020a23256ae5e4265d858bd1287831f7d/ruff-0.12.0-py3-none-win_arm64.whl", hash = "sha256:8cd24580405ad8c1cc64d61725bca091d6b6da7eb3d36f72cc605467069d7e8b", size = 10724946, upload_time = "2025-06-17T15:19:23.952Z" }, ] [[package]] name = "scikit-learn" -version = "1.6.1" +version = "1.7.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "joblib" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "threadpoolctl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/a5/4ae3b3a0755f7b35a280ac90b28817d1f380318973cff14075ab41ef50d9/scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e", size = 7068312, upload_time = "2025-01-10T08:07:55.348Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/3a/f4597eb41049110b21ebcbb0bcb43e4035017545daa5eedcfeb45c08b9c5/scikit_learn-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d056391530ccd1e501056160e3c9673b4da4805eb67eb2bdf4e983e1f9c9204e", size = 12067702, upload_time = "2025-01-10T08:05:56.515Z" }, - { url = "https://files.pythonhosted.org/packages/37/19/0423e5e1fd1c6ec5be2352ba05a537a473c1677f8188b9306097d684b327/scikit_learn-1.6.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0c8d036eb937dbb568c6242fa598d551d88fb4399c0344d95c001980ec1c7d36", size = 11112765, upload_time = "2025-01-10T08:06:00.272Z" }, - { url = "https://files.pythonhosted.org/packages/70/95/d5cb2297a835b0f5fc9a77042b0a2d029866379091ab8b3f52cc62277808/scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8634c4bd21a2a813e0a7e3900464e6d593162a29dd35d25bdf0103b3fce60ed5", size = 12643991, upload_time = "2025-01-10T08:06:04.813Z" }, - { url = "https://files.pythonhosted.org/packages/b7/91/ab3c697188f224d658969f678be86b0968ccc52774c8ab4a86a07be13c25/scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:775da975a471c4f6f467725dff0ced5c7ac7bda5e9316b260225b48475279a1b", size = 13497182, upload_time = "2025-01-10T08:06:08.42Z" }, - { url = "https://files.pythonhosted.org/packages/17/04/d5d556b6c88886c092cc989433b2bab62488e0f0dafe616a1d5c9cb0efb1/scikit_learn-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:8a600c31592bd7dab31e1c61b9bbd6dea1b3433e67d264d17ce1017dbdce8002", size = 11125517, upload_time = "2025-01-10T08:06:12.783Z" }, - { url = "https://files.pythonhosted.org/packages/6c/2a/e291c29670795406a824567d1dfc91db7b699799a002fdaa452bceea8f6e/scikit_learn-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72abc587c75234935e97d09aa4913a82f7b03ee0b74111dcc2881cba3c5a7b33", size = 12102620, upload_time = "2025-01-10T08:06:16.675Z" }, - { url = "https://files.pythonhosted.org/packages/25/92/ee1d7a00bb6b8c55755d4984fd82608603a3cc59959245068ce32e7fb808/scikit_learn-1.6.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b3b00cdc8f1317b5f33191df1386c0befd16625f49d979fe77a8d44cae82410d", size = 11116234, upload_time = "2025-01-10T08:06:21.83Z" }, - { url = "https://files.pythonhosted.org/packages/30/cd/ed4399485ef364bb25f388ab438e3724e60dc218c547a407b6e90ccccaef/scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc4765af3386811c3ca21638f63b9cf5ecf66261cc4815c1db3f1e7dc7b79db2", size = 12592155, upload_time = "2025-01-10T08:06:27.309Z" }, - { url = "https://files.pythonhosted.org/packages/a8/f3/62fc9a5a659bb58a03cdd7e258956a5824bdc9b4bb3c5d932f55880be569/scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25fc636bdaf1cc2f4a124a116312d837148b5e10872147bdaf4887926b8c03d8", size = 13497069, upload_time = "2025-01-10T08:06:32.515Z" }, - { url = "https://files.pythonhosted.org/packages/a1/a6/c5b78606743a1f28eae8f11973de6613a5ee87366796583fb74c67d54939/scikit_learn-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:fa909b1a36e000a03c382aade0bd2063fd5680ff8b8e501660c0f59f021a6415", size = 11139809, upload_time = "2025-01-10T08:06:35.514Z" }, - { url = "https://files.pythonhosted.org/packages/0a/18/c797c9b8c10380d05616db3bfb48e2a3358c767affd0857d56c2eb501caa/scikit_learn-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:926f207c804104677af4857b2c609940b743d04c4c35ce0ddc8ff4f053cddc1b", size = 12104516, upload_time = "2025-01-10T08:06:40.009Z" }, - { url = "https://files.pythonhosted.org/packages/c4/b7/2e35f8e289ab70108f8cbb2e7a2208f0575dc704749721286519dcf35f6f/scikit_learn-1.6.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c2cae262064e6a9b77eee1c8e768fc46aa0b8338c6a8297b9b6759720ec0ff2", size = 11167837, upload_time = "2025-01-10T08:06:43.305Z" }, - { url = "https://files.pythonhosted.org/packages/a4/f6/ff7beaeb644bcad72bcfd5a03ff36d32ee4e53a8b29a639f11bcb65d06cd/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1061b7c028a8663fb9a1a1baf9317b64a257fcb036dae5c8752b2abef31d136f", size = 12253728, upload_time = "2025-01-10T08:06:47.618Z" }, - { url = "https://files.pythonhosted.org/packages/29/7a/8bce8968883e9465de20be15542f4c7e221952441727c4dad24d534c6d99/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e69fab4ebfc9c9b580a7a80111b43d214ab06250f8a7ef590a4edf72464dd86", size = 13147700, upload_time = "2025-01-10T08:06:50.888Z" }, - { url = "https://files.pythonhosted.org/packages/62/27/585859e72e117fe861c2079bcba35591a84f801e21bc1ab85bce6ce60305/scikit_learn-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:70b1d7e85b1c96383f872a519b3375f92f14731e279a7b4c6cfd650cf5dffc52", size = 11110613, upload_time = "2025-01-10T08:06:54.115Z" }, - { url = "https://files.pythonhosted.org/packages/2e/59/8eb1872ca87009bdcdb7f3cdc679ad557b992c12f4b61f9250659e592c63/scikit_learn-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ffa1e9e25b3d93990e74a4be2c2fc61ee5af85811562f1288d5d055880c4322", size = 12010001, upload_time = "2025-01-10T08:06:58.613Z" }, - { url = "https://files.pythonhosted.org/packages/9d/05/f2fc4effc5b32e525408524c982c468c29d22f828834f0625c5ef3d601be/scikit_learn-1.6.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:dc5cf3d68c5a20ad6d571584c0750ec641cc46aeef1c1507be51300e6003a7e1", size = 11096360, upload_time = "2025-01-10T08:07:01.556Z" }, - { url = "https://files.pythonhosted.org/packages/c8/e4/4195d52cf4f113573fb8ebc44ed5a81bd511a92c0228889125fac2f4c3d1/scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c06beb2e839ecc641366000ca84f3cf6fa9faa1777e29cf0c04be6e4d096a348", size = 12209004, upload_time = "2025-01-10T08:07:06.931Z" }, - { url = "https://files.pythonhosted.org/packages/94/be/47e16cdd1e7fcf97d95b3cb08bde1abb13e627861af427a3651fcb80b517/scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8ca8cb270fee8f1f76fa9bfd5c3507d60c6438bbee5687f81042e2bb98e5a97", size = 13171776, upload_time = "2025-01-10T08:07:11.715Z" }, - { url = "https://files.pythonhosted.org/packages/34/b0/ca92b90859070a1487827dbc672f998da95ce83edce1270fc23f96f1f61a/scikit_learn-1.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:7a1c43c8ec9fde528d664d947dc4c0789be4077a3647f232869f41d9bf50e0fb", size = 11071865, upload_time = "2025-01-10T08:07:16.088Z" }, - { url = "https://files.pythonhosted.org/packages/12/ae/993b0fb24a356e71e9a894e42b8a9eec528d4c70217353a1cd7a48bc25d4/scikit_learn-1.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a17c1dea1d56dcda2fac315712f3651a1fea86565b64b48fa1bc090249cbf236", size = 11955804, upload_time = "2025-01-10T08:07:20.385Z" }, - { url = "https://files.pythonhosted.org/packages/d6/54/32fa2ee591af44507eac86406fa6bba968d1eb22831494470d0a2e4a1eb1/scikit_learn-1.6.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a7aa5f9908f0f28f4edaa6963c0a6183f1911e63a69aa03782f0d924c830a35", size = 11100530, upload_time = "2025-01-10T08:07:23.675Z" }, - { url = "https://files.pythonhosted.org/packages/3f/58/55856da1adec655bdce77b502e94a267bf40a8c0b89f8622837f89503b5a/scikit_learn-1.6.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0650e730afb87402baa88afbf31c07b84c98272622aaba002559b614600ca691", size = 12433852, upload_time = "2025-01-10T08:07:26.817Z" }, - { url = "https://files.pythonhosted.org/packages/ff/4f/c83853af13901a574f8f13b645467285a48940f185b690936bb700a50863/scikit_learn-1.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:3f59fe08dc03ea158605170eb52b22a105f238a5d512c4470ddeca71feae8e5f", size = 11337256, upload_time = "2025-01-10T08:07:31.084Z" }, - { url = "https://files.pythonhosted.org/packages/d2/37/b305b759cc65829fe1b8853ff3e308b12cdd9d8884aa27840835560f2b42/scikit_learn-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6849dd3234e87f55dce1db34c89a810b489ead832aaf4d4550b7ea85628be6c1", size = 12101868, upload_time = "2025-01-10T08:07:34.189Z" }, - { url = "https://files.pythonhosted.org/packages/83/74/f64379a4ed5879d9db744fe37cfe1978c07c66684d2439c3060d19a536d8/scikit_learn-1.6.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:e7be3fa5d2eb9be7d77c3734ff1d599151bb523674be9b834e8da6abe132f44e", size = 11144062, upload_time = "2025-01-10T08:07:37.67Z" }, - { url = "https://files.pythonhosted.org/packages/fd/dc/d5457e03dc9c971ce2b0d750e33148dd060fefb8b7dc71acd6054e4bb51b/scikit_learn-1.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44a17798172df1d3c1065e8fcf9019183f06c87609b49a124ebdf57ae6cb0107", size = 12693173, upload_time = "2025-01-10T08:07:42.713Z" }, - { url = "https://files.pythonhosted.org/packages/79/35/b1d2188967c3204c78fa79c9263668cf1b98060e8e58d1a730fe5b2317bb/scikit_learn-1.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b7a3b86e411e4bce21186e1c180d792f3d99223dcfa3b4f597ecc92fa1a422", size = 13518605, upload_time = "2025-01-10T08:07:46.551Z" }, - { url = "https://files.pythonhosted.org/packages/fb/d8/8d603bdd26601f4b07e2363032b8565ab82eb857f93d86d0f7956fcf4523/scikit_learn-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:7a73d457070e3318e32bdb3aa79a8d990474f19035464dfd8bede2883ab5dc3b", size = 11155078, upload_time = "2025-01-10T08:07:51.376Z" }, -] - -[[package]] -name = "scipy" -version = "1.13.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720, upload_time = "2024-05-23T03:29:26.079Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/59/41b2529908c002ade869623b87eecff3e11e3ce62e996d0bdcb536984187/scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca", size = 39328076, upload_time = "2024-05-23T03:19:01.687Z" }, - { url = "https://files.pythonhosted.org/packages/d5/33/f1307601f492f764062ce7dd471a14750f3360e33cd0f8c614dae208492c/scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f", size = 30306232, upload_time = "2024-05-23T03:19:09.089Z" }, - { url = "https://files.pythonhosted.org/packages/c0/66/9cd4f501dd5ea03e4a4572ecd874936d0da296bd04d1c45ae1a4a75d9c3a/scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989", size = 33743202, upload_time = "2024-05-23T03:19:15.138Z" }, - { url = "https://files.pythonhosted.org/packages/a3/ba/7255e5dc82a65adbe83771c72f384d99c43063648456796436c9a5585ec3/scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f", size = 38577335, upload_time = "2024-05-23T03:19:21.984Z" }, - { url = "https://files.pythonhosted.org/packages/49/a5/bb9ded8326e9f0cdfdc412eeda1054b914dfea952bda2097d174f8832cc0/scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94", size = 38820728, upload_time = "2024-05-23T03:19:28.225Z" }, - { url = "https://files.pythonhosted.org/packages/12/30/df7a8fcc08f9b4a83f5f27cfaaa7d43f9a2d2ad0b6562cced433e5b04e31/scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54", size = 46210588, upload_time = "2024-05-23T03:19:35.661Z" }, - { url = "https://files.pythonhosted.org/packages/b4/15/4a4bb1b15bbd2cd2786c4f46e76b871b28799b67891f23f455323a0cdcfb/scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9", size = 39333805, upload_time = "2024-05-23T03:19:43.081Z" }, - { url = "https://files.pythonhosted.org/packages/ba/92/42476de1af309c27710004f5cdebc27bec62c204db42e05b23a302cb0c9a/scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326", size = 30317687, upload_time = "2024-05-23T03:19:48.799Z" }, - { url = "https://files.pythonhosted.org/packages/80/ba/8be64fe225360a4beb6840f3cbee494c107c0887f33350d0a47d55400b01/scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299", size = 33694638, upload_time = "2024-05-23T03:19:55.104Z" }, - { url = "https://files.pythonhosted.org/packages/36/07/035d22ff9795129c5a847c64cb43c1fa9188826b59344fee28a3ab02e283/scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa", size = 38569931, upload_time = "2024-05-23T03:20:01.82Z" }, - { url = "https://files.pythonhosted.org/packages/d9/10/f9b43de37e5ed91facc0cfff31d45ed0104f359e4f9a68416cbf4e790241/scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59", size = 38838145, upload_time = "2024-05-23T03:20:09.173Z" }, - { url = "https://files.pythonhosted.org/packages/4a/48/4513a1a5623a23e95f94abd675ed91cfb19989c58e9f6f7d03990f6caf3d/scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b", size = 46196227, upload_time = "2024-05-23T03:20:16.433Z" }, - { url = "https://files.pythonhosted.org/packages/f2/7b/fb6b46fbee30fc7051913068758414f2721003a89dd9a707ad49174e3843/scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1", size = 39357301, upload_time = "2024-05-23T03:20:23.538Z" }, - { url = "https://files.pythonhosted.org/packages/dc/5a/2043a3bde1443d94014aaa41e0b50c39d046dda8360abd3b2a1d3f79907d/scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d", size = 30363348, upload_time = "2024-05-23T03:20:29.885Z" }, - { url = "https://files.pythonhosted.org/packages/e7/cb/26e4a47364bbfdb3b7fb3363be6d8a1c543bcd70a7753ab397350f5f189a/scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627", size = 33406062, upload_time = "2024-05-23T03:20:36.012Z" }, - { url = "https://files.pythonhosted.org/packages/88/ab/6ecdc526d509d33814835447bbbeedbebdec7cca46ef495a61b00a35b4bf/scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884", size = 38218311, upload_time = "2024-05-23T03:20:42.086Z" }, - { url = "https://files.pythonhosted.org/packages/0b/00/9f54554f0f8318100a71515122d8f4f503b1a2c4b4cfab3b4b68c0eb08fa/scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16", size = 38442493, upload_time = "2024-05-23T03:20:48.292Z" }, - { url = "https://files.pythonhosted.org/packages/3e/df/963384e90733e08eac978cd103c34df181d1fec424de383cdc443f418dd4/scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949", size = 45910955, upload_time = "2024-05-23T03:20:55.091Z" }, - { url = "https://files.pythonhosted.org/packages/7f/29/c2ea58c9731b9ecb30b6738113a95d147e83922986b34c685b8f6eefde21/scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5", size = 39352927, upload_time = "2024-05-23T03:21:01.95Z" }, - { url = "https://files.pythonhosted.org/packages/5c/c0/e71b94b20ccf9effb38d7147c0064c08c622309fd487b1b677771a97d18c/scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24", size = 30324538, upload_time = "2024-05-23T03:21:07.634Z" }, - { url = "https://files.pythonhosted.org/packages/6d/0f/aaa55b06d474817cea311e7b10aab2ea1fd5d43bc6a2861ccc9caec9f418/scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004", size = 33732190, upload_time = "2024-05-23T03:21:14.41Z" }, - { url = "https://files.pythonhosted.org/packages/35/f5/d0ad1a96f80962ba65e2ce1de6a1e59edecd1f0a7b55990ed208848012e0/scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d", size = 38612244, upload_time = "2024-05-23T03:21:21.827Z" }, - { url = "https://files.pythonhosted.org/packages/8d/02/1165905f14962174e6569076bcc3315809ae1291ed14de6448cc151eedfd/scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c", size = 38845637, upload_time = "2024-05-23T03:21:28.729Z" }, - { url = "https://files.pythonhosted.org/packages/3e/77/dab54fe647a08ee4253963bcd8f9cf17509c8ca64d6335141422fe2e2114/scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2", size = 46227440, upload_time = "2024-05-23T03:21:35.888Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/df/3b/29fa87e76b1d7b3b77cc1fcbe82e6e6b8cd704410705b008822de530277c/scikit_learn-1.7.0.tar.gz", hash = "sha256:c01e869b15aec88e2cdb73d27f15bdbe03bce8e2fb43afbe77c45d399e73a5a3", size = 7178217, upload_time = "2025-06-05T22:02:46.703Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a4/70/e725b1da11e7e833f558eb4d3ea8b7ed7100edda26101df074f1ae778235/scikit_learn-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9fe7f51435f49d97bd41d724bb3e11eeb939882af9c29c931a8002c357e8cdd5", size = 11728006, upload_time = "2025-06-05T22:01:43.007Z" }, + { url = "https://files.pythonhosted.org/packages/32/aa/43874d372e9dc51eb361f5c2f0a4462915c9454563b3abb0d9457c66b7e9/scikit_learn-1.7.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0c93294e1e1acbee2d029b1f2a064f26bd928b284938d51d412c22e0c977eb3", size = 10726255, upload_time = "2025-06-05T22:01:46.082Z" }, + { url = "https://files.pythonhosted.org/packages/f5/1a/da73cc18e00f0b9ae89f7e4463a02fb6e0569778120aeab138d9554ecef0/scikit_learn-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf3755f25f145186ad8c403312f74fb90df82a4dfa1af19dc96ef35f57237a94", size = 12205657, upload_time = "2025-06-05T22:01:48.729Z" }, + { url = "https://files.pythonhosted.org/packages/fb/f6/800cb3243dd0137ca6d98df8c9d539eb567ba0a0a39ecd245c33fab93510/scikit_learn-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2726c8787933add436fb66fb63ad18e8ef342dfb39bbbd19dc1e83e8f828a85a", size = 12877290, upload_time = "2025-06-05T22:01:51.073Z" }, + { url = "https://files.pythonhosted.org/packages/4c/bd/99c3ccb49946bd06318fe194a1c54fb7d57ac4fe1c2f4660d86b3a2adf64/scikit_learn-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:e2539bb58886a531b6e86a510c0348afaadd25005604ad35966a85c2ec378800", size = 10713211, upload_time = "2025-06-05T22:01:54.107Z" }, + { url = "https://files.pythonhosted.org/packages/5a/42/c6b41711c2bee01c4800ad8da2862c0b6d2956a399d23ce4d77f2ca7f0c7/scikit_learn-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ef09b1615e1ad04dc0d0054ad50634514818a8eb3ee3dee99af3bffc0ef5007", size = 11719657, upload_time = "2025-06-05T22:01:56.345Z" }, + { url = "https://files.pythonhosted.org/packages/a3/24/44acca76449e391b6b2522e67a63c0454b7c1f060531bdc6d0118fb40851/scikit_learn-1.7.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:7d7240c7b19edf6ed93403f43b0fcb0fe95b53bc0b17821f8fb88edab97085ef", size = 10712636, upload_time = "2025-06-05T22:01:59.093Z" }, + { url = "https://files.pythonhosted.org/packages/9f/1b/fcad1ccb29bdc9b96bcaa2ed8345d56afb77b16c0c47bafe392cc5d1d213/scikit_learn-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80bd3bd4e95381efc47073a720d4cbab485fc483966f1709f1fd559afac57ab8", size = 12242817, upload_time = "2025-06-05T22:02:01.43Z" }, + { url = "https://files.pythonhosted.org/packages/c6/38/48b75c3d8d268a3f19837cb8a89155ead6e97c6892bb64837183ea41db2b/scikit_learn-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dbe48d69aa38ecfc5a6cda6c5df5abef0c0ebdb2468e92437e2053f84abb8bc", size = 12873961, upload_time = "2025-06-05T22:02:03.951Z" }, + { url = "https://files.pythonhosted.org/packages/f4/5a/ba91b8c57aa37dbd80d5ff958576a9a8c14317b04b671ae7f0d09b00993a/scikit_learn-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:8fa979313b2ffdfa049ed07252dc94038def3ecd49ea2a814db5401c07f1ecfa", size = 10717277, upload_time = "2025-06-05T22:02:06.77Z" }, + { url = "https://files.pythonhosted.org/packages/70/3a/bffab14e974a665a3ee2d79766e7389572ffcaad941a246931c824afcdb2/scikit_learn-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c2c7243d34aaede0efca7a5a96d67fddaebb4ad7e14a70991b9abee9dc5c0379", size = 11646758, upload_time = "2025-06-05T22:02:09.51Z" }, + { url = "https://files.pythonhosted.org/packages/58/d8/f3249232fa79a70cb40595282813e61453c1e76da3e1a44b77a63dd8d0cb/scikit_learn-1.7.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f39f6a811bf3f15177b66c82cbe0d7b1ebad9f190737dcdef77cfca1ea3c19c", size = 10673971, upload_time = "2025-06-05T22:02:12.217Z" }, + { url = "https://files.pythonhosted.org/packages/67/93/eb14c50533bea2f77758abe7d60a10057e5f2e2cdcf0a75a14c6bc19c734/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63017a5f9a74963d24aac7590287149a8d0f1a0799bbe7173c0d8ba1523293c0", size = 11818428, upload_time = "2025-06-05T22:02:14.947Z" }, + { url = "https://files.pythonhosted.org/packages/08/17/804cc13b22a8663564bb0b55fb89e661a577e4e88a61a39740d58b909efe/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f8a0b1e73e9a08b7cc498bb2aeab36cdc1f571f8ab2b35c6e5d1c7115d97d", size = 12505887, upload_time = "2025-06-05T22:02:17.824Z" }, + { url = "https://files.pythonhosted.org/packages/68/c7/4e956281a077f4835458c3f9656c666300282d5199039f26d9de1dabd9be/scikit_learn-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:34cc8d9d010d29fb2b7cbcd5ccc24ffdd80515f65fe9f1e4894ace36b267ce19", size = 10668129, upload_time = "2025-06-05T22:02:20.536Z" }, + { url = "https://files.pythonhosted.org/packages/9a/c3/a85dcccdaf1e807e6f067fa95788a6485b0491d9ea44fd4c812050d04f45/scikit_learn-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5b7974f1f32bc586c90145df51130e02267e4b7e77cab76165c76cf43faca0d9", size = 11559841, upload_time = "2025-06-05T22:02:23.308Z" }, + { url = "https://files.pythonhosted.org/packages/d8/57/eea0de1562cc52d3196eae51a68c5736a31949a465f0b6bb3579b2d80282/scikit_learn-1.7.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:014e07a23fe02e65f9392898143c542a50b6001dbe89cb867e19688e468d049b", size = 10616463, upload_time = "2025-06-05T22:02:26.068Z" }, + { url = "https://files.pythonhosted.org/packages/10/a4/39717ca669296dfc3a62928393168da88ac9d8cbec88b6321ffa62c6776f/scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e7ced20582d3a5516fb6f405fd1d254e1f5ce712bfef2589f51326af6346e8", size = 11766512, upload_time = "2025-06-05T22:02:28.689Z" }, + { url = "https://files.pythonhosted.org/packages/d5/cd/a19722241d5f7b51e08351e1e82453e0057aeb7621b17805f31fcb57bb6c/scikit_learn-1.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1babf2511e6ffd695da7a983b4e4d6de45dce39577b26b721610711081850906", size = 12461075, upload_time = "2025-06-05T22:02:31.233Z" }, + { url = "https://files.pythonhosted.org/packages/f3/bc/282514272815c827a9acacbe5b99f4f1a4bc5961053719d319480aee0812/scikit_learn-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:5abd2acff939d5bd4701283f009b01496832d50ddafa83c90125a4e41c33e314", size = 10652517, upload_time = "2025-06-05T22:02:34.139Z" }, + { url = "https://files.pythonhosted.org/packages/ea/78/7357d12b2e4c6674175f9a09a3ba10498cde8340e622715bcc71e532981d/scikit_learn-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:e39d95a929b112047c25b775035c8c234c5ca67e681ce60d12413afb501129f7", size = 12111822, upload_time = "2025-06-05T22:02:36.904Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0c/9c3715393343f04232f9d81fe540eb3831d0b4ec351135a145855295110f/scikit_learn-1.7.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:0521cb460426c56fee7e07f9365b0f45ec8ca7b2d696534ac98bfb85e7ae4775", size = 11325286, upload_time = "2025-06-05T22:02:39.739Z" }, + { url = "https://files.pythonhosted.org/packages/64/e0/42282ad3dd70b7c1a5f65c412ac3841f6543502a8d6263cae7b466612dc9/scikit_learn-1.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:317ca9f83acbde2883bd6bb27116a741bfcb371369706b4f9973cf30e9a03b0d", size = 12380865, upload_time = "2025-06-05T22:02:42.137Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d0/3ef4ab2c6be4aa910445cd09c5ef0b44512e3de2cfb2112a88bb647d2cf7/scikit_learn-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:126c09740a6f016e815ab985b21e3a0656835414521c81fc1a8da78b679bdb75", size = 11549609, upload_time = "2025-06-05T22:02:44.483Z" }, ] [[package]] @@ -2867,12 +2304,10 @@ name = "scipy" version = "1.15.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", + "python_full_version < '3.11'", ] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload_time = "2025-05-08T16:13:05.955Z" } wheels = [ @@ -2924,60 +2359,63 @@ wheels = [ ] [[package]] -name = "shapely" -version = "2.0.7" +name = "scipy" +version = "1.16.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.10'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", ] dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/21/c0/a911d1fd765d07a2b6769ce155219a281bfbe311584ebe97340d75c5bdb1/shapely-2.0.7.tar.gz", hash = "sha256:28fe2997aab9a9dc026dc6a355d04e85841546b2a5d232ed953e3321ab958ee5", size = 283413, upload_time = "2025-01-31T01:10:20.787Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/2e/02c694d6ddacd4f13b625722d313d2838f23c5b988cbc680132983f73ce3/shapely-2.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:33fb10e50b16113714ae40adccf7670379e9ccf5b7a41d0002046ba2b8f0f691", size = 1478310, upload_time = "2025-01-31T02:42:18.134Z" }, - { url = "https://files.pythonhosted.org/packages/87/69/b54a08bcd25e561bdd5183c008ace4424c25e80506e80674032504800efd/shapely-2.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f44eda8bd7a4bccb0f281264b34bf3518d8c4c9a8ffe69a1a05dabf6e8461147", size = 1336082, upload_time = "2025-01-31T02:42:19.986Z" }, - { url = "https://files.pythonhosted.org/packages/b3/f9/40473fcb5b66ff849e563ca523d2a26dafd6957d52dd876ffd0eded39f1c/shapely-2.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf6c50cd879831955ac47af9c907ce0310245f9d162e298703f82e1785e38c98", size = 2371047, upload_time = "2025-01-31T02:42:22.724Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f3/c9cc07a7a03b5f5e83bd059f9adf3e21cf086b0e41d7f95e6464b151e798/shapely-2.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04a65d882456e13c8b417562c36324c0cd1e5915f3c18ad516bb32ee3f5fc895", size = 2469112, upload_time = "2025-01-31T02:42:26.739Z" }, - { url = "https://files.pythonhosted.org/packages/5d/b9/fc63d6b0b25063a3ff806857a5dc88851d54d1c278288f18cef1b322b449/shapely-2.0.7-cp310-cp310-win32.whl", hash = "sha256:7e97104d28e60b69f9b6a957c4d3a2a893b27525bc1fc96b47b3ccef46726bf2", size = 1296057, upload_time = "2025-01-31T02:42:29.156Z" }, - { url = "https://files.pythonhosted.org/packages/fe/d1/8df43f94cf4cda0edbab4545f7cdd67d3f1d02910eaff152f9f45c6d00d8/shapely-2.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:35524cc8d40ee4752520819f9894b9f28ba339a42d4922e92c99b148bed3be39", size = 1441787, upload_time = "2025-01-31T02:42:31.412Z" }, - { url = "https://files.pythonhosted.org/packages/1d/ad/21798c2fec013e289f8ab91d42d4d3299c315b8c4460c08c75fef0901713/shapely-2.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5cf23400cb25deccf48c56a7cdda8197ae66c0e9097fcdd122ac2007e320bc34", size = 1473091, upload_time = "2025-01-31T02:42:33.595Z" }, - { url = "https://files.pythonhosted.org/packages/15/63/eef4f180f1b5859c70e7f91d2f2570643e5c61e7d7c40743d15f8c6cbc42/shapely-2.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8f1da01c04527f7da59ee3755d8ee112cd8967c15fab9e43bba936b81e2a013", size = 1332921, upload_time = "2025-01-31T02:42:34.993Z" }, - { url = "https://files.pythonhosted.org/packages/fe/67/77851dd17738bbe7762a0ef1acf7bc499d756f68600dd68a987d78229412/shapely-2.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f623b64bb219d62014781120f47499a7adc30cf7787e24b659e56651ceebcb0", size = 2427949, upload_time = "2025-01-31T02:42:37.578Z" }, - { url = "https://files.pythonhosted.org/packages/0b/a5/2c8dbb0f383519771df19164e3bf3a8895d195d2edeab4b6040f176ee28e/shapely-2.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6d95703efaa64aaabf278ced641b888fc23d9c6dd71f8215091afd8a26a66e3", size = 2529282, upload_time = "2025-01-31T02:42:39.504Z" }, - { url = "https://files.pythonhosted.org/packages/dc/4e/e1d608773c7fe4cde36d48903c0d6298e3233dc69412403783ac03fa5205/shapely-2.0.7-cp311-cp311-win32.whl", hash = "sha256:2f6e4759cf680a0f00a54234902415f2fa5fe02f6b05546c662654001f0793a2", size = 1295751, upload_time = "2025-01-31T02:42:41.107Z" }, - { url = "https://files.pythonhosted.org/packages/27/57/8ec7c62012bed06731f7ee979da7f207bbc4b27feed5f36680b6a70df54f/shapely-2.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:b52f3ab845d32dfd20afba86675c91919a622f4627182daec64974db9b0b4608", size = 1442684, upload_time = "2025-01-31T02:42:43.181Z" }, - { url = "https://files.pythonhosted.org/packages/4f/3e/ea100eec5811bafd0175eb21828a3be5b0960f65250f4474391868be7c0f/shapely-2.0.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4c2b9859424facbafa54f4a19b625a752ff958ab49e01bc695f254f7db1835fa", size = 1482451, upload_time = "2025-01-31T02:42:44.902Z" }, - { url = "https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5aed1c6764f51011d69a679fdf6b57e691371ae49ebe28c3edb5486537ffbd51", size = 1345765, upload_time = "2025-01-31T02:42:46.625Z" }, - { url = "https://files.pythonhosted.org/packages/fd/dd/b35d7891d25cc11066a70fb8d8169a6a7fca0735dd9b4d563a84684969a3/shapely-2.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c9ae8cf443187d784d57202199bf9fd2d4bb7d5521fe8926ba40db1bc33e8e", size = 2421540, upload_time = "2025-01-31T02:42:49.971Z" }, - { url = "https://files.pythonhosted.org/packages/62/de/8dbd7df60eb23cb983bb698aac982944b3d602ef0ce877a940c269eae34e/shapely-2.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9469f49ff873ef566864cb3516091881f217b5d231c8164f7883990eec88b73", size = 2525741, upload_time = "2025-01-31T02:42:53.882Z" }, - { url = "https://files.pythonhosted.org/packages/96/64/faf0413ebc7a84fe7a0790bf39ec0b02b40132b68e57aba985c0b6e4e7b6/shapely-2.0.7-cp312-cp312-win32.whl", hash = "sha256:6bca5095e86be9d4ef3cb52d56bdd66df63ff111d580855cb8546f06c3c907cd", size = 1296552, upload_time = "2025-01-31T02:42:55.714Z" }, - { url = "https://files.pythonhosted.org/packages/63/05/8a1c279c226d6ad7604d9e237713dd21788eab96db97bf4ce0ea565e5596/shapely-2.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:f86e2c0259fe598c4532acfcf638c1f520fa77c1275912bbc958faecbf00b108", size = 1443464, upload_time = "2025-01-31T02:42:57.696Z" }, - { url = "https://files.pythonhosted.org/packages/c6/21/abea43effbfe11f792e44409ee9ad7635aa93ef1c8ada0ef59b3c1c3abad/shapely-2.0.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a0c09e3e02f948631c7763b4fd3dd175bc45303a0ae04b000856dedebefe13cb", size = 1481618, upload_time = "2025-01-31T02:42:59.915Z" }, - { url = "https://files.pythonhosted.org/packages/d9/71/af688798da36fe355a6e6ffe1d4628449cb5fa131d57fc169bcb614aeee7/shapely-2.0.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:06ff6020949b44baa8fc2e5e57e0f3d09486cd5c33b47d669f847c54136e7027", size = 1345159, upload_time = "2025-01-31T02:43:01.611Z" }, - { url = "https://files.pythonhosted.org/packages/67/47/f934fe2b70d31bb9774ad4376e34f81666deed6b811306ff574faa3d115e/shapely-2.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d6dbf096f961ca6bec5640e22e65ccdec11e676344e8157fe7d636e7904fd36", size = 2410267, upload_time = "2025-01-31T02:43:05.83Z" }, - { url = "https://files.pythonhosted.org/packages/f5/8a/2545cc2a30afc63fc6176c1da3b76af28ef9c7358ed4f68f7c6a9d86cf5b/shapely-2.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adeddfb1e22c20548e840403e5e0b3d9dc3daf66f05fa59f1fcf5b5f664f0e98", size = 2514128, upload_time = "2025-01-31T02:43:08.427Z" }, - { url = "https://files.pythonhosted.org/packages/87/54/2344ce7da39676adec94e84fbaba92a8f1664e4ae2d33bd404dafcbe607f/shapely-2.0.7-cp313-cp313-win32.whl", hash = "sha256:a7f04691ce1c7ed974c2f8b34a1fe4c3c5dfe33128eae886aa32d730f1ec1913", size = 1295783, upload_time = "2025-01-31T02:43:10.608Z" }, - { url = "https://files.pythonhosted.org/packages/d7/1e/6461e5cfc8e73ae165b8cff6eb26a4d65274fad0e1435137c5ba34fe4e88/shapely-2.0.7-cp313-cp313-win_amd64.whl", hash = "sha256:aaaf5f7e6cc234c1793f2a2760da464b604584fb58c6b6d7d94144fd2692d67e", size = 1442300, upload_time = "2025-01-31T02:43:12.299Z" }, - { url = "https://files.pythonhosted.org/packages/ad/de/dc856cf99a981b83aa041d1a240a65b36618657d5145d1c0c7ffb4263d5b/shapely-2.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4abeb44b3b946236e4e1a1b3d2a0987fb4d8a63bfb3fdefb8a19d142b72001e5", size = 1478794, upload_time = "2025-01-31T02:43:38.532Z" }, - { url = "https://files.pythonhosted.org/packages/53/ea/70fec89a9f6fa84a8bf6bd2807111a9175cee22a3df24470965acdd5fb74/shapely-2.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd0e75d9124b73e06a42bf1615ad3d7d805f66871aa94538c3a9b7871d620013", size = 1336402, upload_time = "2025-01-31T02:43:40.134Z" }, - { url = "https://files.pythonhosted.org/packages/e5/22/f6b074b08748d6f6afedd79f707d7eb88b79fa0121369246c25bbc721776/shapely-2.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7977d8a39c4cf0e06247cd2dca695ad4e020b81981d4c82152c996346cf1094b", size = 2376673, upload_time = "2025-01-31T02:43:41.922Z" }, - { url = "https://files.pythonhosted.org/packages/ab/f0/befc440a6c90c577300f5f84361bad80919e7c7ac381ae4960ce3195cedc/shapely-2.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0145387565fcf8f7c028b073c802956431308da933ef41d08b1693de49990d27", size = 2474380, upload_time = "2025-01-31T02:43:43.671Z" }, - { url = "https://files.pythonhosted.org/packages/13/b8/edaf33dfb97e281d9de3871810de131b01e4f33d38d8f613515abc89d91e/shapely-2.0.7-cp39-cp39-win32.whl", hash = "sha256:98697c842d5c221408ba8aa573d4f49caef4831e9bc6b6e785ce38aca42d1999", size = 1297939, upload_time = "2025-01-31T02:43:46.287Z" }, - { url = "https://files.pythonhosted.org/packages/7b/95/4d164c2fcb19c51e50537aafb99ecfda82f62356bfdb6f4ca620a3932bad/shapely-2.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:a3fb7fbae257e1b042f440289ee7235d03f433ea880e73e687f108d044b24db5", size = 1443665, upload_time = "2025-01-31T02:43:47.889Z" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/81/18/b06a83f0c5ee8cddbde5e3f3d0bb9b702abfa5136ef6d4620ff67df7eee5/scipy-1.16.0.tar.gz", hash = "sha256:b5ef54021e832869c8cfb03bc3bf20366cbcd426e02a58e8a58d7584dfbb8f62", size = 30581216, upload_time = "2025-06-22T16:27:55.782Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/f8/53fc4884df6b88afd5f5f00240bdc49fee2999c7eff3acf5953eb15bc6f8/scipy-1.16.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:deec06d831b8f6b5fb0b652433be6a09db29e996368ce5911faf673e78d20085", size = 36447362, upload_time = "2025-06-22T16:18:17.817Z" }, + { url = "https://files.pythonhosted.org/packages/c9/25/fad8aa228fa828705142a275fc593d701b1817c98361a2d6b526167d07bc/scipy-1.16.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:d30c0fe579bb901c61ab4bb7f3eeb7281f0d4c4a7b52dbf563c89da4fd2949be", size = 28547120, upload_time = "2025-06-22T16:18:24.117Z" }, + { url = "https://files.pythonhosted.org/packages/8d/be/d324ddf6b89fd1c32fecc307f04d095ce84abb52d2e88fab29d0cd8dc7a8/scipy-1.16.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:b2243561b45257f7391d0f49972fca90d46b79b8dbcb9b2cb0f9df928d370ad4", size = 20818922, upload_time = "2025-06-22T16:18:28.035Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e0/cf3f39e399ac83fd0f3ba81ccc5438baba7cfe02176be0da55ff3396f126/scipy-1.16.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e6d7dfc148135e9712d87c5f7e4f2ddc1304d1582cb3a7d698bbadedb61c7afd", size = 23409695, upload_time = "2025-06-22T16:18:32.497Z" }, + { url = "https://files.pythonhosted.org/packages/5b/61/d92714489c511d3ffd6830ac0eb7f74f243679119eed8b9048e56b9525a1/scipy-1.16.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:90452f6a9f3fe5a2cf3748e7be14f9cc7d9b124dce19667b54f5b429d680d539", size = 33444586, upload_time = "2025-06-22T16:18:37.992Z" }, + { url = "https://files.pythonhosted.org/packages/af/2c/40108915fd340c830aee332bb85a9160f99e90893e58008b659b9f3dddc0/scipy-1.16.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a2f0bf2f58031c8701a8b601df41701d2a7be17c7ffac0a4816aeba89c4cdac8", size = 35284126, upload_time = "2025-06-22T16:18:43.605Z" }, + { url = "https://files.pythonhosted.org/packages/d3/30/e9eb0ad3d0858df35d6c703cba0a7e16a18a56a9e6b211d861fc6f261c5f/scipy-1.16.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c4abb4c11fc0b857474241b812ce69ffa6464b4bd8f4ecb786cf240367a36a7", size = 35608257, upload_time = "2025-06-22T16:18:49.09Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ff/950ee3e0d612b375110d8cda211c1f787764b4c75e418a4b71f4a5b1e07f/scipy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b370f8f6ac6ef99815b0d5c9f02e7ade77b33007d74802efc8316c8db98fd11e", size = 38040541, upload_time = "2025-06-22T16:18:55.077Z" }, + { url = "https://files.pythonhosted.org/packages/8b/c9/750d34788288d64ffbc94fdb4562f40f609d3f5ef27ab4f3a4ad00c9033e/scipy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:a16ba90847249bedce8aa404a83fb8334b825ec4a8e742ce6012a7a5e639f95c", size = 38570814, upload_time = "2025-06-22T16:19:00.912Z" }, + { url = "https://files.pythonhosted.org/packages/01/c0/c943bc8d2bbd28123ad0f4f1eef62525fa1723e84d136b32965dcb6bad3a/scipy-1.16.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:7eb6bd33cef4afb9fa5f1fb25df8feeb1e52d94f21a44f1d17805b41b1da3180", size = 36459071, upload_time = "2025-06-22T16:19:06.605Z" }, + { url = "https://files.pythonhosted.org/packages/99/0d/270e2e9f1a4db6ffbf84c9a0b648499842046e4e0d9b2275d150711b3aba/scipy-1.16.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:1dbc8fdba23e4d80394ddfab7a56808e3e6489176d559c6c71935b11a2d59db1", size = 28490500, upload_time = "2025-06-22T16:19:11.775Z" }, + { url = "https://files.pythonhosted.org/packages/1c/22/01d7ddb07cff937d4326198ec8d10831367a708c3da72dfd9b7ceaf13028/scipy-1.16.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:7dcf42c380e1e3737b343dec21095c9a9ad3f9cbe06f9c05830b44b1786c9e90", size = 20762345, upload_time = "2025-06-22T16:19:15.813Z" }, + { url = "https://files.pythonhosted.org/packages/34/7f/87fd69856569ccdd2a5873fe5d7b5bbf2ad9289d7311d6a3605ebde3a94b/scipy-1.16.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:26ec28675f4a9d41587266084c626b02899db373717d9312fa96ab17ca1ae94d", size = 23418563, upload_time = "2025-06-22T16:19:20.746Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f1/e4f4324fef7f54160ab749efbab6a4bf43678a9eb2e9817ed71a0a2fd8de/scipy-1.16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:952358b7e58bd3197cfbd2f2f2ba829f258404bdf5db59514b515a8fe7a36c52", size = 33203951, upload_time = "2025-06-22T16:19:25.813Z" }, + { url = "https://files.pythonhosted.org/packages/6d/f0/b6ac354a956384fd8abee2debbb624648125b298f2c4a7b4f0d6248048a5/scipy-1.16.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03931b4e870c6fef5b5c0970d52c9f6ddd8c8d3e934a98f09308377eba6f3824", size = 35070225, upload_time = "2025-06-22T16:19:31.416Z" }, + { url = "https://files.pythonhosted.org/packages/e5/73/5cbe4a3fd4bc3e2d67ffad02c88b83edc88f381b73ab982f48f3df1a7790/scipy-1.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:512c4f4f85912767c351a0306824ccca6fd91307a9f4318efe8fdbd9d30562ef", size = 35389070, upload_time = "2025-06-22T16:19:37.387Z" }, + { url = "https://files.pythonhosted.org/packages/86/e8/a60da80ab9ed68b31ea5a9c6dfd3c2f199347429f229bf7f939a90d96383/scipy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e69f798847e9add03d512eaf5081a9a5c9a98757d12e52e6186ed9681247a1ac", size = 37825287, upload_time = "2025-06-22T16:19:43.375Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b5/29fece1a74c6a94247f8a6fb93f5b28b533338e9c34fdcc9cfe7a939a767/scipy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:adf9b1999323ba335adc5d1dc7add4781cb5a4b0ef1e98b79768c05c796c4e49", size = 38431929, upload_time = "2025-06-22T16:19:49.385Z" }, + { url = "https://files.pythonhosted.org/packages/46/95/0746417bc24be0c2a7b7563946d61f670a3b491b76adede420e9d173841f/scipy-1.16.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:e9f414cbe9ca289a73e0cc92e33a6a791469b6619c240aa32ee18abdce8ab451", size = 36418162, upload_time = "2025-06-22T16:19:56.3Z" }, + { url = "https://files.pythonhosted.org/packages/19/5a/914355a74481b8e4bbccf67259bbde171348a3f160b67b4945fbc5f5c1e5/scipy-1.16.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bbba55fb97ba3cdef9b1ee973f06b09d518c0c7c66a009c729c7d1592be1935e", size = 28465985, upload_time = "2025-06-22T16:20:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/58/46/63477fc1246063855969cbefdcee8c648ba4b17f67370bd542ba56368d0b/scipy-1.16.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:58e0d4354eacb6004e7aa1cd350e5514bd0270acaa8d5b36c0627bb3bb486974", size = 20737961, upload_time = "2025-06-22T16:20:05.913Z" }, + { url = "https://files.pythonhosted.org/packages/93/86/0fbb5588b73555e40f9d3d6dde24ee6fac7d8e301a27f6f0cab9d8f66ff2/scipy-1.16.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b2094ec975c80efc273567436e16bb794660509c12c6a31eb5c195cbf4b6dc", size = 23377941, upload_time = "2025-06-22T16:20:10.668Z" }, + { url = "https://files.pythonhosted.org/packages/ca/80/a561f2bf4c2da89fa631b3cbf31d120e21ea95db71fd9ec00cb0247c7a93/scipy-1.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b65d232157a380fdd11a560e7e21cde34fdb69d65c09cb87f6cc024ee376351", size = 33196703, upload_time = "2025-06-22T16:20:16.097Z" }, + { url = "https://files.pythonhosted.org/packages/11/6b/3443abcd0707d52e48eb315e33cc669a95e29fc102229919646f5a501171/scipy-1.16.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d8747f7736accd39289943f7fe53a8333be7f15a82eea08e4afe47d79568c32", size = 35083410, upload_time = "2025-06-22T16:20:21.734Z" }, + { url = "https://files.pythonhosted.org/packages/20/ab/eb0fc00e1e48961f1bd69b7ad7e7266896fe5bad4ead91b5fc6b3561bba4/scipy-1.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eb9f147a1b8529bb7fec2a85cf4cf42bdfadf9e83535c309a11fdae598c88e8b", size = 35387829, upload_time = "2025-06-22T16:20:27.548Z" }, + { url = "https://files.pythonhosted.org/packages/57/9e/d6fc64e41fad5d481c029ee5a49eefc17f0b8071d636a02ceee44d4a0de2/scipy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d2b83c37edbfa837a8923d19c749c1935ad3d41cf196006a24ed44dba2ec4358", size = 37841356, upload_time = "2025-06-22T16:20:35.112Z" }, + { url = "https://files.pythonhosted.org/packages/7c/a7/4c94bbe91f12126b8bf6709b2471900577b7373a4fd1f431f28ba6f81115/scipy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:79a3c13d43c95aa80b87328a46031cf52508cf5f4df2767602c984ed1d3c6bbe", size = 38403710, upload_time = "2025-06-22T16:21:54.473Z" }, + { url = "https://files.pythonhosted.org/packages/47/20/965da8497f6226e8fa90ad3447b82ed0e28d942532e92dd8b91b43f100d4/scipy-1.16.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:f91b87e1689f0370690e8470916fe1b2308e5b2061317ff76977c8f836452a47", size = 36813833, upload_time = "2025-06-22T16:20:43.925Z" }, + { url = "https://files.pythonhosted.org/packages/28/f4/197580c3dac2d234e948806e164601c2df6f0078ed9f5ad4a62685b7c331/scipy-1.16.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:88a6ca658fb94640079e7a50b2ad3b67e33ef0f40e70bdb7dc22017dae73ac08", size = 28974431, upload_time = "2025-06-22T16:20:51.302Z" }, + { url = "https://files.pythonhosted.org/packages/8a/fc/e18b8550048d9224426e76906694c60028dbdb65d28b1372b5503914b89d/scipy-1.16.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:ae902626972f1bd7e4e86f58fd72322d7f4ec7b0cfc17b15d4b7006efc385176", size = 21246454, upload_time = "2025-06-22T16:20:57.276Z" }, + { url = "https://files.pythonhosted.org/packages/8c/48/07b97d167e0d6a324bfd7484cd0c209cc27338b67e5deadae578cf48e809/scipy-1.16.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:8cb824c1fc75ef29893bc32b3ddd7b11cf9ab13c1127fe26413a05953b8c32ed", size = 23772979, upload_time = "2025-06-22T16:21:03.363Z" }, + { url = "https://files.pythonhosted.org/packages/4c/4f/9efbd3f70baf9582edf271db3002b7882c875ddd37dc97f0f675ad68679f/scipy-1.16.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:de2db7250ff6514366a9709c2cba35cb6d08498e961cba20d7cff98a7ee88938", size = 33341972, upload_time = "2025-06-22T16:21:11.14Z" }, + { url = "https://files.pythonhosted.org/packages/3f/dc/9e496a3c5dbe24e76ee24525155ab7f659c20180bab058ef2c5fa7d9119c/scipy-1.16.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e85800274edf4db8dd2e4e93034f92d1b05c9421220e7ded9988b16976f849c1", size = 35185476, upload_time = "2025-06-22T16:21:19.156Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b3/21001cff985a122ba434c33f2c9d7d1dc3b669827e94f4fc4e1fe8b9dfd8/scipy-1.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4f720300a3024c237ace1cb11f9a84c38beb19616ba7c4cdcd771047a10a1706", size = 35570990, upload_time = "2025-06-22T16:21:27.797Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d3/7ba42647d6709251cdf97043d0c107e0317e152fa2f76873b656b509ff55/scipy-1.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:aad603e9339ddb676409b104c48a027e9916ce0d2838830691f39552b38a352e", size = 37950262, upload_time = "2025-06-22T16:21:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c4/231cac7a8385394ebbbb4f1ca662203e9d8c332825ab4f36ffc3ead09a42/scipy-1.16.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f56296fefca67ba605fd74d12f7bd23636267731a72cb3947963e76b8c0a25db", size = 38515076, upload_time = "2025-06-22T16:21:45.694Z" }, ] [[package]] name = "shapely" version = "2.1.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ca/3c/2da625233f4e605155926566c0e7ea8dda361877f48e8b1655e53456f252/shapely-2.1.1.tar.gz", hash = "sha256:500621967f2ffe9642454808009044c21e5b35db89ce69f8a2042c2ffd0e2772", size = 315422, upload_time = "2025-05-19T11:04:41.265Z" } wheels = [ @@ -3101,24 +2539,16 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fc/b2/43eacbf6ccc5276d76cea18cb7c3d73e294d6fb21f9ff8b4eef9b42bbfd5/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", size = 3197511, upload_time = "2025-05-14T17:51:57.308Z" }, { url = "https://files.pythonhosted.org/packages/fa/2e/677c17c5d6a004c3c45334ab1dbe7b7deb834430b282b8a0f75ae220c8eb/sqlalchemy-2.0.41-cp313-cp313-win32.whl", hash = "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", size = 2082420, upload_time = "2025-05-14T17:55:52.69Z" }, { url = "https://files.pythonhosted.org/packages/e9/61/e8c1b9b6307c57157d328dd8b8348ddc4c47ffdf1279365a13b2b98b8049/sqlalchemy-2.0.41-cp313-cp313-win_amd64.whl", hash = "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", size = 2108329, upload_time = "2025-05-14T17:55:54.495Z" }, - { url = "https://files.pythonhosted.org/packages/dd/1c/3d2a893c020fcc18463794e0a687de58044d1c8a9892d23548ca7e71274a/sqlalchemy-2.0.41-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9a420a91913092d1e20c86a2f5f1fc85c1a8924dbcaf5e0586df8aceb09c9cc2", size = 2121327, upload_time = "2025-05-14T18:01:30.842Z" }, - { url = "https://files.pythonhosted.org/packages/3e/84/389c8f7c7b465682c4e5ba97f6e7825149a6625c629e09b5e872ec3b378f/sqlalchemy-2.0.41-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:906e6b0d7d452e9a98e5ab8507c0da791856b2380fdee61b765632bb8698026f", size = 2110739, upload_time = "2025-05-14T18:01:32.881Z" }, - { url = "https://files.pythonhosted.org/packages/b2/3d/036e84ecb46d6687fa57dc25ab366dff50773a19364def210b8770fd1516/sqlalchemy-2.0.41-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a373a400f3e9bac95ba2a06372c4fd1412a7cee53c37fc6c05f829bf672b8769", size = 3198018, upload_time = "2025-05-14T17:57:53.791Z" }, - { url = "https://files.pythonhosted.org/packages/8d/de/112e2142bf730a16a6cb43efc87e36dd62426e155727490c041130c6e852/sqlalchemy-2.0.41-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:087b6b52de812741c27231b5a3586384d60c353fbd0e2f81405a814b5591dc8b", size = 3197074, upload_time = "2025-05-14T17:36:18.732Z" }, - { url = "https://files.pythonhosted.org/packages/d4/be/a766c78ec3050cb5b734c3087cd20bafd7370b0ab0c8636a87652631af1f/sqlalchemy-2.0.41-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:34ea30ab3ec98355235972dadc497bb659cc75f8292b760394824fab9cf39826", size = 3138698, upload_time = "2025-05-14T17:57:55.395Z" }, - { url = "https://files.pythonhosted.org/packages/e5/c3/245e39ec45e1a8c86ff1ac3a88b13d0457307ac728eaeb217834a3ac6813/sqlalchemy-2.0.41-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8280856dd7c6a68ab3a164b4a4b1c51f7691f6d04af4d4ca23d6ecf2261b7923", size = 3160877, upload_time = "2025-05-14T17:36:20.178Z" }, - { url = "https://files.pythonhosted.org/packages/d7/0c/cda8631405f6417208e160070b513bb752da0885e462fce42ac200c8262f/sqlalchemy-2.0.41-cp39-cp39-win32.whl", hash = "sha256:b50eab9994d64f4a823ff99a0ed28a6903224ddbe7fef56a6dd865eec9243440", size = 2089270, upload_time = "2025-05-14T18:01:41.315Z" }, - { url = "https://files.pythonhosted.org/packages/b0/1f/f68c58970d80ea5a1868ca5dc965d154a3b711f9ab06376ad9840d1475b8/sqlalchemy-2.0.41-cp39-cp39-win_amd64.whl", hash = "sha256:5e22575d169529ac3e0a120cf050ec9daa94b6a9597993d1702884f6954a7d71", size = 2113134, upload_time = "2025-05-14T18:01:42.801Z" }, { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224, upload_time = "2025-05-14T17:39:42.154Z" }, ] [[package]] name = "sqlglot" -version = "26.20.0" +version = "26.30.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3b/09/63aebb3be37082ce96aafc7fef06ea902a447cd913f2c2e9db762faf2253/sqlglot-26.20.0.tar.gz", hash = "sha256:c7ddcb92dd85be935c85a23b5ef01fd5a45957aa8c00f1be5e1d7f5a9c125207", size = 5367894, upload_time = "2025-05-25T23:04:32.422Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/44/1fc8f0e5217543bfed1b8d208642cc1ab72d21b6cc14bbae6610f38443f2/sqlglot-26.30.0.tar.gz", hash = "sha256:c136f00850d730d357d800d23f7d7f35e962d76b248c172b86f9dcc77115c9fa", size = 5339339, upload_time = "2025-06-21T11:06:24.509Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/99/8e057f88b23289d9ef5dfdda12abcca01767c42cd079b71094a3bfaf1d81/sqlglot-26.20.0-py3-none-any.whl", hash = "sha256:dc0fc5f4e7f36229931363265775287cf82355186bab7be8ac78fb5a8a10240d", size = 463110, upload_time = "2025-05-25T23:04:29.977Z" }, + { url = "https://files.pythonhosted.org/packages/13/90/4cf168c31b804e628f11238eb370dcb8a6b3f09e7e7e793a5d192cbef3be/sqlglot-26.30.0-py3-none-any.whl", hash = "sha256:7e6db3a4c4a7c421413339027b2166cfae4504b785dfabcfceb47f5c813ba8d0", size = 472603, upload_time = "2025-06-21T11:06:22.101Z" }, ] [[package]] @@ -3136,15 +2566,15 @@ wheels = [ [[package]] name = "starlette" -version = "0.46.2" +version = "0.47.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload_time = "2025-04-13T13:56:17.942Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/69/662169fdb92fb96ec3eaee218cf540a629d629c86d7993d9651226a6789b/starlette-0.47.1.tar.gz", hash = "sha256:aef012dd2b6be325ffa16698f9dc533614fb1cebd593a906b90dc1025529a79b", size = 2583072, upload_time = "2025-06-21T04:03:17.337Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload_time = "2025-04-13T13:56:16.21Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/38ef0cd7fa11eaba6a99b3c4f5ac948d8bc6ff199aabd327a29cc000840c/starlette-0.47.1-py3-none-any.whl", hash = "sha256:5e11c9f5c7c3f24959edbf2dffdc01bba860228acf657129467d8a7468591527", size = 72747, upload_time = "2025-06-21T04:03:15.705Z" }, ] [[package]] @@ -3229,11 +2659,11 @@ wheels = [ [[package]] name = "tomlkit" -version = "0.13.2" +version = "0.13.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b1/09/a439bec5888f00a54b8b9f05fa94d7f901d6735ef4e55dcec9bc37b5d8fa/tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79", size = 192885, upload_time = "2024-08-14T08:19:41.488Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload_time = "2025-06-05T07:13:44.947Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde", size = 37955, upload_time = "2024-08-14T08:19:40.05Z" }, + { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload_time = "2025-06-05T07:13:43.546Z" }, ] [[package]] @@ -3259,15 +2689,14 @@ wheels = [ [[package]] name = "typeguard" -version = "4.4.2" +version = "4.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/70/60/8cd6a3d78d00ceeb2193c02b7ed08f063d5341ccdfb24df88e61f383048e/typeguard-4.4.2.tar.gz", hash = "sha256:a6f1065813e32ef365bc3b3f503af8a96f9dd4e0033a02c28c4a4983de8c6c49", size = 75746, upload_time = "2025-02-16T16:28:26.205Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/68/71c1a15b5f65f40e91b65da23b8224dad41349894535a97f63a52e462196/typeguard-4.4.4.tar.gz", hash = "sha256:3a7fd2dffb705d4d0efaed4306a704c89b9dee850b688f060a8b1615a79e5f74", size = 75203, upload_time = "2025-06-18T09:56:07.624Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/4b/9a77dc721aa0b7f74440a42e4ef6f9a4fae7324e17f64f88b96f4c25cc05/typeguard-4.4.2-py3-none-any.whl", hash = "sha256:77a78f11f09777aeae7fa08585f33b5f4ef0e7335af40005b0c422ed398ff48c", size = 35801, upload_time = "2025-02-16T16:28:24.793Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a9/e3aee762739c1d7528da1c3e06d518503f8b6c439c35549b53735ba52ead/typeguard-4.4.4-py3-none-any.whl", hash = "sha256:b5f562281b6bfa1f5492470464730ef001646128b180769880468bd84b68b09e", size = 34874, upload_time = "2025-06-18T09:56:05.999Z" }, ] [[package]] @@ -3275,8 +2704,7 @@ name = "typer" version = "0.16.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "rich" }, { name = "shellingham" }, { name = "typing-extensions" }, @@ -3297,11 +2725,11 @@ wheels = [ [[package]] name = "typing-extensions" -version = "4.13.2" +version = "4.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload_time = "2025-04-10T14:19:05.416Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload_time = "2025-06-02T14:52:11.399Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload_time = "2025-04-10T14:19:03.967Z" }, + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload_time = "2025-06-02T14:52:10.026Z" }, ] [[package]] @@ -3340,26 +2768,25 @@ wheels = [ [[package]] name = "urllib3" -version = "2.4.0" +version = "2.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload_time = "2025-04-10T15:23:39.232Z" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload_time = "2025-06-18T14:07:41.644Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload_time = "2025-04-10T15:23:37.377Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload_time = "2025-06-18T14:07:40.39Z" }, ] [[package]] name = "uvicorn" -version = "0.34.2" +version = "0.34.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "h11" }, { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a6/ae/9bbb19b9e1c450cf9ecaef06463e40234d98d95bf572fab11b4f19ae5ded/uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328", size = 76815, upload_time = "2025-04-19T06:02:50.101Z" } +sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload_time = "2025-06-01T07:48:17.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/4b/4cef6ce21a2aaca9d852a6e84ef4f135d99fcd74fa75105e2fc0c8308acd/uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403", size = 62483, upload_time = "2025-04-19T06:02:48.42Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload_time = "2025-06-01T07:48:15.664Z" }, ] [[package]] @@ -3421,48 +2848,31 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload_time = "2025-03-05T20:02:51.561Z" }, { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload_time = "2025-03-05T20:02:53.814Z" }, { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload_time = "2025-03-05T20:02:55.237Z" }, - { url = "https://files.pythonhosted.org/packages/36/db/3fff0bcbe339a6fa6a3b9e3fbc2bfb321ec2f4cd233692272c5a8d6cf801/websockets-15.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5f4c04ead5aed67c8a1a20491d54cdfba5884507a48dd798ecaf13c74c4489f5", size = 175424, upload_time = "2025-03-05T20:02:56.505Z" }, - { url = "https://files.pythonhosted.org/packages/46/e6/519054c2f477def4165b0ec060ad664ed174e140b0d1cbb9fafa4a54f6db/websockets-15.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abdc0c6c8c648b4805c5eacd131910d2a7f6455dfd3becab248ef108e89ab16a", size = 173077, upload_time = "2025-03-05T20:02:58.37Z" }, - { url = "https://files.pythonhosted.org/packages/1a/21/c0712e382df64c93a0d16449ecbf87b647163485ca1cc3f6cbadb36d2b03/websockets-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a625e06551975f4b7ea7102bc43895b90742746797e2e14b70ed61c43a90f09b", size = 173324, upload_time = "2025-03-05T20:02:59.773Z" }, - { url = "https://files.pythonhosted.org/packages/1c/cb/51ba82e59b3a664df54beed8ad95517c1b4dc1a913730e7a7db778f21291/websockets-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d591f8de75824cbb7acad4e05d2d710484f15f29d4a915092675ad3456f11770", size = 182094, upload_time = "2025-03-05T20:03:01.827Z" }, - { url = "https://files.pythonhosted.org/packages/fb/0f/bf3788c03fec679bcdaef787518dbe60d12fe5615a544a6d4cf82f045193/websockets-15.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47819cea040f31d670cc8d324bb6435c6f133b8c7a19ec3d61634e62f8d8f9eb", size = 181094, upload_time = "2025-03-05T20:03:03.123Z" }, - { url = "https://files.pythonhosted.org/packages/5e/da/9fb8c21edbc719b66763a571afbaf206cb6d3736d28255a46fc2fe20f902/websockets-15.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac017dd64572e5c3bd01939121e4d16cf30e5d7e110a119399cf3133b63ad054", size = 181397, upload_time = "2025-03-05T20:03:04.443Z" }, - { url = "https://files.pythonhosted.org/packages/2e/65/65f379525a2719e91d9d90c38fe8b8bc62bd3c702ac651b7278609b696c4/websockets-15.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4a9fac8e469d04ce6c25bb2610dc535235bd4aa14996b4e6dbebf5e007eba5ee", size = 181794, upload_time = "2025-03-05T20:03:06.708Z" }, - { url = "https://files.pythonhosted.org/packages/d9/26/31ac2d08f8e9304d81a1a7ed2851c0300f636019a57cbaa91342015c72cc/websockets-15.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363c6f671b761efcb30608d24925a382497c12c506b51661883c3e22337265ed", size = 181194, upload_time = "2025-03-05T20:03:08.844Z" }, - { url = "https://files.pythonhosted.org/packages/98/72/1090de20d6c91994cd4b357c3f75a4f25ee231b63e03adea89671cc12a3f/websockets-15.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2034693ad3097d5355bfdacfffcbd3ef5694f9718ab7f29c29689a9eae841880", size = 181164, upload_time = "2025-03-05T20:03:10.242Z" }, - { url = "https://files.pythonhosted.org/packages/2d/37/098f2e1c103ae8ed79b0e77f08d83b0ec0b241cf4b7f2f10edd0126472e1/websockets-15.0.1-cp39-cp39-win32.whl", hash = "sha256:3b1ac0d3e594bf121308112697cf4b32be538fb1444468fb0a6ae4feebc83411", size = 176381, upload_time = "2025-03-05T20:03:12.77Z" }, - { url = "https://files.pythonhosted.org/packages/75/8b/a32978a3ab42cebb2ebdd5b05df0696a09f4d436ce69def11893afa301f0/websockets-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7643a03db5c95c799b89b31c036d5f27eeb4d259c798e878d6937d71832b1e4", size = 176841, upload_time = "2025-03-05T20:03:14.367Z" }, { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109, upload_time = "2025-03-05T20:03:17.769Z" }, { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343, upload_time = "2025-03-05T20:03:19.094Z" }, { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599, upload_time = "2025-03-05T20:03:21.1Z" }, { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207, upload_time = "2025-03-05T20:03:23.221Z" }, { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155, upload_time = "2025-03-05T20:03:25.321Z" }, { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884, upload_time = "2025-03-05T20:03:27.934Z" }, - { url = "https://files.pythonhosted.org/packages/b7/48/4b67623bac4d79beb3a6bb27b803ba75c1bdedc06bd827e465803690a4b2/websockets-15.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7f493881579c90fc262d9cdbaa05a6b54b3811c2f300766748db79f098db9940", size = 173106, upload_time = "2025-03-05T20:03:29.404Z" }, - { url = "https://files.pythonhosted.org/packages/ed/f0/adb07514a49fe5728192764e04295be78859e4a537ab8fcc518a3dbb3281/websockets-15.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:47b099e1f4fbc95b701b6e85768e1fcdaf1630f3cbe4765fa216596f12310e2e", size = 173339, upload_time = "2025-03-05T20:03:30.755Z" }, - { url = "https://files.pythonhosted.org/packages/87/28/bd23c6344b18fb43df40d0700f6d3fffcd7cef14a6995b4f976978b52e62/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67f2b6de947f8c757db2db9c71527933ad0019737ec374a8a6be9a956786aaf9", size = 174597, upload_time = "2025-03-05T20:03:32.247Z" }, - { url = "https://files.pythonhosted.org/packages/6d/79/ca288495863d0f23a60f546f0905ae8f3ed467ad87f8b6aceb65f4c013e4/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d08eb4c2b7d6c41da6ca0600c077e93f5adcfd979cd777d747e9ee624556da4b", size = 174205, upload_time = "2025-03-05T20:03:33.731Z" }, - { url = "https://files.pythonhosted.org/packages/04/e4/120ff3180b0872b1fe6637f6f995bcb009fb5c87d597c1fc21456f50c848/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b826973a4a2ae47ba357e4e82fa44a463b8f168e1ca775ac64521442b19e87f", size = 174150, upload_time = "2025-03-05T20:03:35.757Z" }, - { url = "https://files.pythonhosted.org/packages/cb/c3/30e2f9c539b8da8b1d76f64012f3b19253271a63413b2d3adb94b143407f/websockets-15.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:21c1fa28a6a7e3cbdc171c694398b6df4744613ce9b36b1a498e816787e28123", size = 176877, upload_time = "2025-03-05T20:03:37.199Z" }, { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload_time = "2025-03-05T20:03:39.41Z" }, ] [[package]] name = "xlrd" -version = "2.0.1" +version = "2.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/b3/19a2540d21dea5f908304375bd43f5ed7a4c28a370dc9122c565423e6b44/xlrd-2.0.1.tar.gz", hash = "sha256:f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88", size = 100259, upload_time = "2020-12-11T10:14:22.201Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/5a/377161c2d3538d1990d7af382c79f3b2372e880b65de21b01b1a2b78691e/xlrd-2.0.2.tar.gz", hash = "sha256:08b5e25de58f21ce71dc7db3b3b8106c1fa776f3024c54e45b45b374e89234c9", size = 100167, upload_time = "2025-06-14T08:46:39.039Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/0c/c2a72d51fe56e08a08acc85d13013558a2d793028ae7385448a6ccdfae64/xlrd-2.0.1-py2.py3-none-any.whl", hash = "sha256:6a33ee89877bd9abc1158129f6e94be74e2679636b8a205b43b85206c3f0bbdd", size = 96531, upload_time = "2020-12-11T10:14:20.877Z" }, + { url = "https://files.pythonhosted.org/packages/1a/62/c8d562e7766786ba6587d09c5a8ba9f718ed3fa8af7f4553e8f91c36f302/xlrd-2.0.2-py2.py3-none-any.whl", hash = "sha256:ea762c3d29f4cca48d82df517b6d89fbce4db3107f9d78713e48cd321d5c9aa9", size = 96555, upload_time = "2025-06-14T08:46:37.766Z" }, ] [[package]] name = "xlsxwriter" -version = "3.2.3" +version = "3.2.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a7/d1/e026d33dd5d552e5bf3a873dee54dad66b550230df8290d79394f09b2315/xlsxwriter-3.2.3.tar.gz", hash = "sha256:ad6fd41bdcf1b885876b1f6b7087560aecc9ae5a9cc2ba97dcac7ab2e210d3d5", size = 209135, upload_time = "2025-04-17T10:11:23.481Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/47/7704bac42ac6fe1710ae099b70e6a1e68ed173ef14792b647808c357da43/xlsxwriter-3.2.5.tar.gz", hash = "sha256:7e88469d607cdc920151c0ab3ce9cf1a83992d4b7bc730c5ffdd1a12115a7dbe", size = 213306, upload_time = "2025-06-17T08:59:14.619Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/37/b1/a252d499f2760b314fcf264d2b36fcc4343a1ecdb25492b210cb0db70a68/XlsxWriter-3.2.3-py3-none-any.whl", hash = "sha256:593f8296e8a91790c6d0378ab08b064f34a642b3feb787cf6738236bd0a4860d", size = 169433, upload_time = "2025-04-17T10:11:21.329Z" }, + { url = "https://files.pythonhosted.org/packages/fa/34/a22e6664211f0c8879521328000bdcae9bf6dbafa94a923e531f6d5b3f73/xlsxwriter-3.2.5-py3-none-any.whl", hash = "sha256:4f4824234e1eaf9d95df9a8fe974585ff91d0f5e3d3f12ace5b71e443c1c6abd", size = 172347, upload_time = "2025-06-17T08:59:13.453Z" }, ] [[package]] @@ -3482,12 +2892,3 @@ sdist = { url = "https://files.pythonhosted.org/packages/00/af/c0f7f97bb320d14c0 wheels = [ { url = "https://files.pythonhosted.org/packages/d6/7d/b77455d7c7c51255b2992b429107fab811b2e36ceaf76da1e55a045dc568/xyzservices-2025.4.0-py3-none-any.whl", hash = "sha256:8d4db9a59213ccb4ce1cf70210584f30b10795bff47627cdfb862b39ff6e10c9", size = 90391, upload_time = "2025-04-25T10:38:08.468Z" }, ] - -[[package]] -name = "zipp" -version = "3.22.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/12/b6/7b3d16792fdf94f146bed92be90b4eb4563569eca91513c8609aebf0c167/zipp-3.22.0.tar.gz", hash = "sha256:dd2f28c3ce4bc67507bfd3781d21b7bb2be31103b51a4553ad7d90b84e57ace5", size = 25257, upload_time = "2025-05-26T14:46:32.217Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ad/da/f64669af4cae46f17b90798a827519ce3737d31dbafad65d391e49643dc4/zipp-3.22.0-py3-none-any.whl", hash = "sha256:fe208f65f2aca48b81f9e6fd8cf7b8b32c26375266b009b413d45306b6148343", size = 9796, upload_time = "2025-05-26T14:46:30.775Z" }, -]