├── src └── monticello │ ├── __init__.py │ ├── tests │ ├── __init__.py │ ├── fixtures │ │ ├── __init__.py │ │ └── dem.tif │ └── test_monticello.py │ ├── responses.py │ └── monticello.py ├── .gitignore ├── .github └── workflows │ └── build.yml ├── README.md ├── LICENSE ├── pyproject.toml └── poetry.lock /src/monticello/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/monticello/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/monticello/tests/fixtures/__init__.py: -------------------------------------------------------------------------------- 1 | # dem.tif from titiler's test data 2 | -------------------------------------------------------------------------------- /src/monticello/tests/fixtures/dem.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndrewAnnex/monticello/HEAD/src/monticello/tests/fixtures/dem.tif -------------------------------------------------------------------------------- /src/monticello/responses.py: -------------------------------------------------------------------------------- 1 | from starlette import responses 2 | 3 | qme_responses = { 4 | 200: { 5 | "description": "quantized mesh", 6 | "content": { 7 | "application/vnd.quantized-mesh" : {}, 8 | } 9 | } 10 | } 11 | 12 | class QMEResponse(responses.Response): 13 | """ 14 | """ 15 | media_type = "application/vnd.quantized-mesh" 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .DS_Store? 3 | 4 | # Pycharm specific things 5 | .idea/ 6 | 7 | # python things 8 | *.egg-info* 9 | .coverage 10 | .coverage/ 11 | dist/ 12 | build/ 13 | .cache/ 14 | __pycache__/ 15 | src/__pycache__/ 16 | src/spiceypy/__pycache__/ 17 | src/spiceypy/utils/__pycache__/ 18 | .eggs/ 19 | *.whl 20 | .pytest_cache/ 21 | *.sqlite3 22 | /badhashkernel.txt 23 | *.dll 24 | *.dylib 25 | *.so.* 26 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | on: [push, pull_request] 2 | jobs: 3 | run: 4 | name: Run monticello tests 5 | runs-on: ubuntu-latest 6 | steps: 7 | - uses: actions/checkout@v3 8 | - uses: actions/setup-python@v4 9 | with: 10 | python-version: '3.10' 11 | - name: Install deps 12 | run: | 13 | python -m pip install --upgrade pip 14 | python -m pip install poetry 15 | poetry install 16 | - name: run tests 17 | run: | 18 | poetry run pytest . 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Monticello 2 | 3 | Dynamic quantized mesh encoder extension for [Titiler](https://github.com/developmentseed/titiler). 4 | 5 | Heavily adapted from and inspired by [dem-tiler](https://github.com/kylebarron/dem-tiler) 6 | 7 | only partially tested so far... 8 | 9 | The word Monticello means "little mountain" or something close to that in Italian, playing off the naming of titiler to convey smallness 10 | and topography. 11 | 12 | ## Features 13 | 14 | - supports both delatin and martini algorithms for generating meshes dynamically 15 | - uses [quantized-mesh-encoder](https://github.com/kylebarron/quantized-mesh-encoder) for response 16 | - supports variable tile sizes, buffer 17 | 18 | 19 | ## Usage 20 | 21 | ```python 22 | app = FastAPI() 23 | tiler = TilerFactory( 24 | router_prefix="/cog", 25 | extensions = [ 26 | MonticelloFactory() 27 | ] 28 | ) 29 | app.include_router(tiler.router, prefix="/cog") 30 | # now meshes are available at /cog/mesh/ 31 | ``` 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) [2023] [Andrew M. Annex] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "monticello" 3 | version = "0.1.0" 4 | description = "Quantized Mesh encoder extension for titiler" 5 | authors = ["Andrew Annex "] 6 | license = "MIT" 7 | readme = "README.md" 8 | keywords = ["titiler", "GIS", "quantized", "mesh", "3dtiles", "Dynamic", "FastAPI"] 9 | repository = "https://github.com/AndrewAnnex/monticello" 10 | exclude = ["src/monticello/tests/fixtures/dem.tif"] 11 | classifiers = [ 12 | "Development Status :: 3 - Alpha", 13 | "Programming Language :: Python :: 3.10", 14 | "Programming Language :: Python :: 3.11", 15 | "Topic :: Scientific/Engineering :: GIS", 16 | "Topic :: Multimedia :: Graphics :: 3D Rendering", 17 | "Intended Audience :: Science/Research", 18 | "License :: OSI Approved :: MIT License", 19 | "Framework :: FastAPI" 20 | ] 21 | 22 | [tool.poetry.dependencies] 23 | python = "^3.10" 24 | "titiler.core" = "^0.11.0" 25 | pymartini = "^0.4.4" 26 | quantized-mesh-encoder = "^0.4.3" 27 | pydelatin = "^0.2.7" 28 | morecantile = "^3.2.5" 29 | 30 | [tool.poetry.group.dev.dependencies] 31 | pytest = "^7.2.1" 32 | coverage = "^7.1.0" 33 | 34 | [build-system] 35 | requires = ["poetry-core"] 36 | build-backend = "poetry.core.masonry.api" 37 | -------------------------------------------------------------------------------- /src/monticello/tests/test_monticello.py: -------------------------------------------------------------------------------- 1 | import os 2 | from fastapi import Depends, FastAPI, HTTPException, Path, Query 3 | from starlette.testclient import TestClient 4 | from titiler.core.factory import TilerFactory 5 | from ..monticello import MonticelloFactory 6 | import rasterio as rio 7 | import rasterio.warp 8 | import morecantile 9 | 10 | import pytest 11 | 12 | DATA_DIR = os.path.join(os.path.dirname(__file__), "fixtures") 13 | with rio.open(f'{DATA_DIR}/dem.tif') as dem: 14 | dem_crs = dem.crs 15 | dem_bounds = dem.bounds 16 | 17 | crs4326 = rio.crs.CRS.from_epsg(code=4326) 18 | dem_bounds_4326 = rio.warp.transform_bounds(dem_crs, crs4326, *dem_bounds) 19 | dem_lon = (dem_bounds_4326[0] + dem_bounds_4326[2]) / 2 20 | dem_lat = (dem_bounds_4326[1] + dem_bounds_4326[3]) / 2 21 | tms = morecantile.tms.get("WebMercatorQuad") 22 | tms12 = tms.tile(dem_lon, dem_lat, 12) 23 | tms13 = tms.tile(dem_lon, dem_lat, 13) 24 | tms14 = tms.tile(dem_lon, dem_lat, 14) 25 | 26 | 27 | def test_MonticelloFactory(): 28 | app = FastAPI() 29 | tiler = TilerFactory( 30 | router_prefix="/cog", 31 | extensions = [ 32 | MonticelloFactory() 33 | ] 34 | ) 35 | app.include_router(tiler.router, prefix="/cog") 36 | client = TestClient(app) 37 | 38 | # test delatin 39 | response = client.get( 40 | f"/cog/mesh/{tms13.z}/{tms13.x}/{tms13.y}", 41 | params = { 42 | "url": f"{DATA_DIR}/dem.tif", 43 | "mesh_quantizer": "delatin" 44 | } 45 | ) 46 | assert response.status_code == 200 47 | 48 | # test martini with buffer 0.5 49 | response = client.get( 50 | f"/cog/mesh/{tms13.z}/{tms13.x}/{tms13.y}", 51 | params = { 52 | "url": f"{DATA_DIR}/dem.tif", 53 | "mesh_quantizer": "martini", 54 | "buffer": 0.5 55 | } 56 | ) 57 | assert response.status_code == 200 58 | 59 | # test martini with buffer 0.5 and flipy 60 | response = client.get( 61 | f"/cog/mesh/{tms13.z}/{tms13.x}/{tms13.y}", 62 | params = { 63 | "url": f"{DATA_DIR}/dem.tif", 64 | "mesh_quantizer": "martini", 65 | "buffer": 0.5, 66 | "flip_y": "True", 67 | } 68 | ) 69 | assert response.status_code == 200 70 | 71 | # test martini without a buffer, should throw an exception 72 | response = client.get( 73 | f"/cog/mesh/{tms13.z}/{tms13.x}/{tms13.y}", 74 | params = { 75 | "url": f"{DATA_DIR}/dem.tif", 76 | "mesh_quantizer": "martini", 77 | "buffer": 0 78 | } 79 | ) 80 | assert response.status_code == 422 81 | 82 | # test martini with a buffer that is an even number, should throw an exception 83 | response = client.get( 84 | f"/cog/mesh/{tms13.z}/{tms13.x}/{tms13.y}", 85 | params = { 86 | "url": f"{DATA_DIR}/dem.tif", 87 | "mesh_quantizer": "martini", 88 | "buffer": 0.2 89 | } 90 | ) 91 | assert response.status_code == 422 92 | -------------------------------------------------------------------------------- /src/monticello/monticello.py: -------------------------------------------------------------------------------- 1 | """ 2 | Heavily adopted from https://github.com/kylebarron/dem-tiler/ 3 | """ 4 | from typing import Optional, Literal, List, Tuple, Type 5 | from dataclasses import dataclass, field 6 | from io import BytesIO 7 | 8 | 9 | from morecantile import tms as morecantile_tms 10 | from morecantile.defaults import TileMatrixSets 11 | import rasterio 12 | from rio_tiler.errors import InvalidBufferSize 13 | from rio_tiler.io import BaseReader, Reader 14 | from quantized_mesh_encoder import encode as qme_encode 15 | from quantized_mesh_encoder import Ellipsoid 16 | from pymartini import Martini, rescale_positions as martini_rescale_positions 17 | from pydelatin import Delatin 18 | from pydelatin.util import rescale_positions as delatin_rescale_positions 19 | from numpy import float32 20 | 21 | from fastapi import Depends, Query, Path, HTTPException 22 | from titiler.core.factory import BaseTilerFactory, FactoryExtension 23 | from titiler.core.dependencies import RescalingParams 24 | from starlette.responses import Response 25 | 26 | 27 | from .responses import QMEResponse, qme_responses 28 | 29 | 30 | def tile_to_mesh_martini(tile, bounds, tile_size: int = 512, max_error: float = 10.0, flip_y: bool = False): 31 | martini = Martini(tile_size) 32 | tin = martini.create_tile(tile.astype(float32)) 33 | vrt, tri = tin.get_mesh(max_error=max_error) 34 | res = martini_rescale_positions(vrt, tile, bounds=bounds, flip_y=flip_y) 35 | return res, tri 36 | 37 | 38 | def tile_to_mesh_delatin(tile, bounds, tile_size: int = 512, max_error: float = 10.0, flip_y: bool = False): 39 | tin = Delatin(tile, height=tile_size, width=tile_size, max_error=max_error) 40 | vrt, tri = tin.vertices, tin.triangles.flatten() 41 | res = delatin_rescale_positions(vrt, bounds, flip_y=flip_y) 42 | return res, tri 43 | 44 | 45 | @dataclass 46 | class MonticelloFactory(FactoryExtension): 47 | # Default reader is set to rio_tiler.io.Reader 48 | reader: Type[BaseReader] = Reader 49 | 50 | # TileMatrixSet dependency 51 | supported_tms: TileMatrixSets = morecantile_tms 52 | default_tms: str = "WebMercatorQuad" 53 | 54 | buffer: int = field(default=0) 55 | max_error: float = field(default=1.0) 56 | flip_y: str = field(default='False') 57 | 58 | def register(self, factory: BaseTilerFactory): 59 | """Register /mesh endpoint.""" 60 | #todo, should I have .terrain extensions? 61 | @factory.router.get(r"/mesh/{z}/{x}/{y}", response_class=QMEResponse, responses=qme_responses) 62 | @factory.router.get(r"/mesh/{z}/{x}/{y}.{format}", response_class=QMEResponse, responses=qme_responses) 63 | @factory.router.get(r"/mesh/{z}/{x}/{y}@{scale}x", response_class=QMEResponse, responses=qme_responses) 64 | @factory.router.get(r"/mesh/{z}/{x}/{y}@{scale}x.{format}", response_class=QMEResponse, responses=qme_responses) 65 | @factory.router.get(r"/mesh/{TileMatrixSetId}/{z}/{x}/{y}", response_class=QMEResponse, responses=qme_responses) 66 | @factory.router.get( 67 | r"/mesh/{TileMatrixSetId}/{z}/{x}/{y}.{format}", response_class=QMEResponse, responses=qme_responses 68 | ) 69 | @factory.router.get( 70 | r"/mesh/{TileMatrixSetId}/{z}/{x}/{y}@{scale}x", response_class=QMEResponse, responses=qme_responses 71 | ) 72 | @factory.router.get( 73 | r"/mesh/{TileMatrixSetId}/{z}/{x}/{y}@{scale}x.{format}", 74 | response_class=QMEResponse, responses=qme_responses 75 | ) 76 | def mesh( 77 | z: int = Path(..., ge=0, le=30, description="TMS tiles's zoom level"), 78 | x: int = Path(..., description="TMS tiles's column"), 79 | y: int = Path(..., description="TMS tiles's row"), 80 | TileMatrixSetId: Literal[tuple(factory.supported_tms.list())] = Query( 81 | factory.default_tms, 82 | description=f"TileMatrixSet Name (default: '{factory.default_tms}')", 83 | ), 84 | scale: int = Query( 85 | 2, gt=0, lt=4, description="Tile size scale. 1=256x256, 2=512x512..." 86 | ), 87 | src_path=Depends(factory.path_dependency), 88 | layer_params=Depends(factory.layer_dependency), 89 | dataset_params=Depends(factory.dataset_dependency), 90 | post_process=Depends(factory.process_dependency), 91 | buffer: Optional[float] = Query( 92 | None, 93 | gt=0, 94 | title="Tile buffer.", 95 | description="Buffer on each side of the given tile. It must be a multiple of `0.5`. Output **tilesize** will be expanded to `tilesize + 2 * buffer` (e.g 0.5 = 257x257, 1.0 = 258x258).", 96 | ), 97 | rescale: Optional[List[Tuple[float, ...]]] = Depends(RescalingParams), 98 | reader_params=Depends(factory.reader_dependency), 99 | env=Depends(factory.environment_dependency), 100 | mesh_quantizer: Literal['martini', 'delatin'] = Query("delatin", description="Mesh encoding algorithm to use") 101 | ): 102 | tms = self.supported_tms.get(TileMatrixSetId) 103 | tile_size = scale * 256 104 | with rasterio.Env(**env): 105 | with self.reader(src_path, tms=tms, **reader_params) as src_dst: 106 | # todo raise error if buffer not gt 0 and martini tiler 107 | try: 108 | image = src_dst.tile( 109 | x, 110 | y, 111 | z, 112 | tilesize=tile_size, 113 | buffer=buffer, 114 | **layer_params, 115 | **dataset_params, 116 | ) 117 | except InvalidBufferSize: 118 | raise HTTPException( 119 | status_code=422, 120 | detail=f"Buffer '{buffer}' invalid, must be GT 0 and a multiple of 0.5" 121 | ) 122 | if post_process: 123 | image = post_process(image) 124 | if rescale: 125 | image = image.rescale(rescale) 126 | # got the tile data, now do the work 127 | flip_y: bool = self.flip_y[0].lower() == 'true' 128 | tile = image.data[0] 129 | tile_size: int = tile.shape[0] #this will be expanded by the buffer for martini 130 | bounds = image.bounds 131 | if mesh_quantizer == 'delatin': 132 | res, tri = tile_to_mesh_delatin( 133 | tile, 134 | bounds, 135 | tile_size=tile_size, 136 | max_error=self.max_error, 137 | flip_y=flip_y 138 | ) 139 | else: 140 | res, tri = tile_to_mesh_martini( 141 | tile, 142 | bounds, 143 | tile_size=tile_size, 144 | max_error=self.max_error, 145 | flip_y=flip_y 146 | ) 147 | # get the ellipsoid, todo cache 148 | ellipsoid = Ellipsoid(tms.crs.ellipsoid.semi_major_metre, tms.crs.ellipsoid.semi_minor_metre) 149 | with BytesIO() as out: 150 | qme_encode( 151 | out, 152 | res, 153 | tri, 154 | bounds=bounds, 155 | sphere_method='naive', 156 | ellipsoid=ellipsoid 157 | ) 158 | out.seek(0) 159 | return Response(out.read(), media_type="application/vnd.quantized-mesh") 160 | -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "affine" 3 | version = "2.4.0" 4 | description = "Matrices describing affine transformation of the plane" 5 | category = "main" 6 | optional = false 7 | python-versions = ">=3.7" 8 | 9 | [package.extras] 10 | dev = ["coveralls", "flake8", "pydocstyle"] 11 | test = ["pytest (>=4.6)", "pytest-cov"] 12 | 13 | [[package]] 14 | name = "anyio" 15 | version = "3.6.2" 16 | description = "High level compatibility layer for multiple asynchronous event loop implementations" 17 | category = "main" 18 | optional = false 19 | python-versions = ">=3.6.2" 20 | 21 | [package.dependencies] 22 | idna = ">=2.8" 23 | sniffio = ">=1.1" 24 | 25 | [package.extras] 26 | doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] 27 | test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"] 28 | trio = ["trio (>=0.16,<0.22)"] 29 | 30 | [[package]] 31 | name = "attrs" 32 | version = "22.2.0" 33 | description = "Classes Without Boilerplate" 34 | category = "main" 35 | optional = false 36 | python-versions = ">=3.6" 37 | 38 | [package.extras] 39 | cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] 40 | dev = ["attrs[docs,tests]"] 41 | docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] 42 | tests = ["attrs[tests-no-zope]", "zope.interface"] 43 | tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] 44 | 45 | [[package]] 46 | name = "boto3" 47 | version = "1.26.74" 48 | description = "The AWS SDK for Python" 49 | category = "main" 50 | optional = false 51 | python-versions = ">= 3.7" 52 | 53 | [package.dependencies] 54 | botocore = ">=1.29.74,<1.30.0" 55 | jmespath = ">=0.7.1,<2.0.0" 56 | s3transfer = ">=0.6.0,<0.7.0" 57 | 58 | [package.extras] 59 | crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] 60 | 61 | [[package]] 62 | name = "botocore" 63 | version = "1.29.74" 64 | description = "Low-level, data-driven core of boto 3." 65 | category = "main" 66 | optional = false 67 | python-versions = ">= 3.7" 68 | 69 | [package.dependencies] 70 | jmespath = ">=0.7.1,<2.0.0" 71 | python-dateutil = ">=2.1,<3.0.0" 72 | urllib3 = ">=1.25.4,<1.27" 73 | 74 | [package.extras] 75 | crt = ["awscrt (==0.16.9)"] 76 | 77 | [[package]] 78 | name = "cachetools" 79 | version = "5.3.0" 80 | description = "Extensible memoizing collections and decorators" 81 | category = "main" 82 | optional = false 83 | python-versions = "~=3.7" 84 | 85 | [[package]] 86 | name = "certifi" 87 | version = "2022.12.7" 88 | description = "Python package for providing Mozilla's CA Bundle." 89 | category = "main" 90 | optional = false 91 | python-versions = ">=3.6" 92 | 93 | [[package]] 94 | name = "click" 95 | version = "8.1.3" 96 | description = "Composable command line interface toolkit" 97 | category = "main" 98 | optional = false 99 | python-versions = ">=3.7" 100 | 101 | [package.dependencies] 102 | colorama = {version = "*", markers = "platform_system == \"Windows\""} 103 | 104 | [[package]] 105 | name = "click-plugins" 106 | version = "1.1.1" 107 | description = "An extension module for click to enable registering CLI commands via setuptools entry-points." 108 | category = "main" 109 | optional = false 110 | python-versions = "*" 111 | 112 | [package.dependencies] 113 | click = ">=4.0" 114 | 115 | [package.extras] 116 | dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] 117 | 118 | [[package]] 119 | name = "cligj" 120 | version = "0.7.2" 121 | description = "Click params for commmand line interfaces to GeoJSON" 122 | category = "main" 123 | optional = false 124 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4" 125 | 126 | [package.dependencies] 127 | click = ">=4.0" 128 | 129 | [package.extras] 130 | test = ["pytest-cov"] 131 | 132 | [[package]] 133 | name = "color-operations" 134 | version = "0.1.0" 135 | description = "Apply basic color-oriented image operations." 136 | category = "main" 137 | optional = false 138 | python-versions = ">=3.8" 139 | 140 | [package.dependencies] 141 | numpy = "*" 142 | 143 | [package.extras] 144 | test = ["colormath (==2.0.2)", "pytest", "pytest-cov"] 145 | 146 | [[package]] 147 | name = "colorama" 148 | version = "0.4.6" 149 | description = "Cross-platform colored terminal text." 150 | category = "main" 151 | optional = false 152 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" 153 | 154 | [[package]] 155 | name = "coverage" 156 | version = "7.1.0" 157 | description = "Code coverage measurement for Python" 158 | category = "dev" 159 | optional = false 160 | python-versions = ">=3.7" 161 | 162 | [package.extras] 163 | toml = ["tomli"] 164 | 165 | [[package]] 166 | name = "exceptiongroup" 167 | version = "1.1.0" 168 | description = "Backport of PEP 654 (exception groups)" 169 | category = "dev" 170 | optional = false 171 | python-versions = ">=3.7" 172 | 173 | [package.extras] 174 | test = ["pytest (>=6)"] 175 | 176 | [[package]] 177 | name = "fastapi" 178 | version = "0.92.0" 179 | description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" 180 | category = "main" 181 | optional = false 182 | python-versions = ">=3.7" 183 | 184 | [package.dependencies] 185 | pydantic = ">=1.6.2,<1.7 || >1.7,<1.7.1 || >1.7.1,<1.7.2 || >1.7.2,<1.7.3 || >1.7.3,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0" 186 | starlette = ">=0.25.0,<0.26.0" 187 | 188 | [package.extras] 189 | all = ["email-validator (>=1.1.1)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] 190 | dev = ["pre-commit (>=2.17.0,<3.0.0)", "ruff (==0.0.138)", "uvicorn[standard] (>=0.12.0,<0.21.0)"] 191 | doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer[all] (>=0.6.1,<0.8.0)"] 192 | test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==22.10.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.6)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.6.0.0)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"] 193 | 194 | [[package]] 195 | name = "geojson-pydantic" 196 | version = "0.5.0" 197 | description = "Pydantic data models for the GeoJSON spec." 198 | category = "main" 199 | optional = false 200 | python-versions = ">=3.7" 201 | 202 | [package.dependencies] 203 | pydantic = "*" 204 | 205 | [package.extras] 206 | dev = ["pre-commit"] 207 | test = ["pytest", "pytest-cov", "shapely"] 208 | 209 | [[package]] 210 | name = "h11" 211 | version = "0.14.0" 212 | description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" 213 | category = "main" 214 | optional = false 215 | python-versions = ">=3.7" 216 | 217 | [[package]] 218 | name = "httpcore" 219 | version = "0.16.3" 220 | description = "A minimal low-level HTTP client." 221 | category = "main" 222 | optional = false 223 | python-versions = ">=3.7" 224 | 225 | [package.dependencies] 226 | anyio = ">=3.0,<5.0" 227 | certifi = "*" 228 | h11 = ">=0.13,<0.15" 229 | sniffio = ">=1.0.0,<2.0.0" 230 | 231 | [package.extras] 232 | http2 = ["h2 (>=3,<5)"] 233 | socks = ["socksio (>=1.0.0,<2.0.0)"] 234 | 235 | [[package]] 236 | name = "httpx" 237 | version = "0.23.3" 238 | description = "The next generation HTTP client." 239 | category = "main" 240 | optional = false 241 | python-versions = ">=3.7" 242 | 243 | [package.dependencies] 244 | certifi = "*" 245 | httpcore = ">=0.15.0,<0.17.0" 246 | rfc3986 = {version = ">=1.3,<2", extras = ["idna2008"]} 247 | sniffio = "*" 248 | 249 | [package.extras] 250 | brotli = ["brotli", "brotlicffi"] 251 | cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<13)"] 252 | http2 = ["h2 (>=3,<5)"] 253 | socks = ["socksio (>=1.0.0,<2.0.0)"] 254 | 255 | [[package]] 256 | name = "idna" 257 | version = "3.4" 258 | description = "Internationalized Domain Names in Applications (IDNA)" 259 | category = "main" 260 | optional = false 261 | python-versions = ">=3.5" 262 | 263 | [[package]] 264 | name = "iniconfig" 265 | version = "2.0.0" 266 | description = "brain-dead simple config-ini parsing" 267 | category = "dev" 268 | optional = false 269 | python-versions = ">=3.7" 270 | 271 | [[package]] 272 | name = "jinja2" 273 | version = "3.1.2" 274 | description = "A very fast and expressive template engine." 275 | category = "main" 276 | optional = false 277 | python-versions = ">=3.7" 278 | 279 | [package.dependencies] 280 | MarkupSafe = ">=2.0" 281 | 282 | [package.extras] 283 | i18n = ["Babel (>=2.7)"] 284 | 285 | [[package]] 286 | name = "jmespath" 287 | version = "1.0.1" 288 | description = "JSON Matching Expressions" 289 | category = "main" 290 | optional = false 291 | python-versions = ">=3.7" 292 | 293 | [[package]] 294 | name = "markupsafe" 295 | version = "2.1.2" 296 | description = "Safely add untrusted strings to HTML/XML markup." 297 | category = "main" 298 | optional = false 299 | python-versions = ">=3.7" 300 | 301 | [[package]] 302 | name = "morecantile" 303 | version = "3.2.5" 304 | description = "Construct and use map tile grids (a.k.a TileMatrixSet / TMS)." 305 | category = "main" 306 | optional = false 307 | python-versions = ">=3.8" 308 | 309 | [package.dependencies] 310 | attrs = "*" 311 | pydantic = "*" 312 | pyproj = ">=3.1,<4.0" 313 | 314 | [package.extras] 315 | dev = ["pre-commit"] 316 | docs = ["mkdocs", "mkdocs-material", "pygments"] 317 | rasterio = ["rasterio (>=1.2.1)"] 318 | test = ["mercantile", "pytest", "pytest-cov"] 319 | 320 | [[package]] 321 | name = "numexpr" 322 | version = "2.8.4" 323 | description = "Fast numerical expression evaluator for NumPy" 324 | category = "main" 325 | optional = false 326 | python-versions = ">=3.7" 327 | 328 | [package.dependencies] 329 | numpy = ">=1.13.3" 330 | 331 | [[package]] 332 | name = "numpy" 333 | version = "1.24.2" 334 | description = "Fundamental package for array computing in Python" 335 | category = "main" 336 | optional = false 337 | python-versions = ">=3.8" 338 | 339 | [[package]] 340 | name = "packaging" 341 | version = "23.0" 342 | description = "Core utilities for Python packages" 343 | category = "dev" 344 | optional = false 345 | python-versions = ">=3.7" 346 | 347 | [[package]] 348 | name = "pluggy" 349 | version = "1.0.0" 350 | description = "plugin and hook calling mechanisms for python" 351 | category = "dev" 352 | optional = false 353 | python-versions = ">=3.6" 354 | 355 | [package.extras] 356 | dev = ["pre-commit", "tox"] 357 | testing = ["pytest", "pytest-benchmark"] 358 | 359 | [[package]] 360 | name = "pydantic" 361 | version = "1.10.5" 362 | description = "Data validation and settings management using python type hints" 363 | category = "main" 364 | optional = false 365 | python-versions = ">=3.7" 366 | 367 | [package.dependencies] 368 | typing-extensions = ">=4.2.0" 369 | 370 | [package.extras] 371 | dotenv = ["python-dotenv (>=0.10.4)"] 372 | email = ["email-validator (>=1.0.3)"] 373 | 374 | [[package]] 375 | name = "pydelatin" 376 | version = "0.2.7" 377 | description = "A wrapper for hmm" 378 | category = "main" 379 | optional = false 380 | python-versions = ">=3.6" 381 | 382 | [package.dependencies] 383 | numpy = "*" 384 | 385 | [package.extras] 386 | test = ["imageio", "pytest", "pytest-benchmark"] 387 | 388 | [[package]] 389 | name = "pymartini" 390 | version = "0.4.4" 391 | description = "A Python port of Martini for fast terrain mesh generation" 392 | category = "main" 393 | optional = false 394 | python-versions = ">=3.6" 395 | 396 | [package.dependencies] 397 | numpy = "*" 398 | 399 | [package.extras] 400 | test = ["imageio", "pytest", "pytest-benchmark"] 401 | 402 | [[package]] 403 | name = "pyparsing" 404 | version = "3.0.9" 405 | description = "pyparsing module - Classes and methods to define and execute parsing grammars" 406 | category = "main" 407 | optional = false 408 | python-versions = ">=3.6.8" 409 | 410 | [package.extras] 411 | diagrams = ["jinja2", "railroad-diagrams"] 412 | 413 | [[package]] 414 | name = "pyproj" 415 | version = "3.4.1" 416 | description = "Python interface to PROJ (cartographic projections and coordinate transformations library)" 417 | category = "main" 418 | optional = false 419 | python-versions = ">=3.8" 420 | 421 | [package.dependencies] 422 | certifi = "*" 423 | 424 | [[package]] 425 | name = "pystac" 426 | version = "1.6.1" 427 | description = "Python library for working with Spatiotemporal Asset Catalog (STAC)." 428 | category = "main" 429 | optional = false 430 | python-versions = ">=3.8" 431 | 432 | [package.dependencies] 433 | python-dateutil = ">=2.7.0" 434 | 435 | [package.extras] 436 | orjson = ["orjson (>=3.5)"] 437 | validation = ["jsonschema (>=4.0.1)"] 438 | 439 | [[package]] 440 | name = "pytest" 441 | version = "7.2.1" 442 | description = "pytest: simple powerful testing with Python" 443 | category = "dev" 444 | optional = false 445 | python-versions = ">=3.7" 446 | 447 | [package.dependencies] 448 | attrs = ">=19.2.0" 449 | colorama = {version = "*", markers = "sys_platform == \"win32\""} 450 | exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} 451 | iniconfig = "*" 452 | packaging = "*" 453 | pluggy = ">=0.12,<2.0" 454 | tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} 455 | 456 | [package.extras] 457 | testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] 458 | 459 | [[package]] 460 | name = "python-dateutil" 461 | version = "2.8.2" 462 | description = "Extensions to the standard Python datetime module" 463 | category = "main" 464 | optional = false 465 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" 466 | 467 | [package.dependencies] 468 | six = ">=1.5" 469 | 470 | [[package]] 471 | name = "quantized-mesh-encoder" 472 | version = "0.4.3" 473 | description = "A fast Python Quantized Mesh encoder" 474 | category = "main" 475 | optional = false 476 | python-versions = ">=3.6" 477 | 478 | [package.dependencies] 479 | attrs = "*" 480 | numpy = "*" 481 | 482 | [package.extras] 483 | test = ["imageio", "pytest", "pytest-benchmark", "quantized-mesh-tile"] 484 | 485 | [[package]] 486 | name = "rasterio" 487 | version = "1.3.6" 488 | description = "Fast and direct raster I/O for use with Numpy and SciPy" 489 | category = "main" 490 | optional = false 491 | python-versions = ">=3.8" 492 | 493 | [package.dependencies] 494 | affine = "*" 495 | attrs = "*" 496 | certifi = "*" 497 | click = ">=4.0" 498 | click-plugins = "*" 499 | cligj = ">=0.5" 500 | numpy = ">=1.18" 501 | setuptools = "*" 502 | snuggs = ">=1.4.1" 503 | 504 | [package.extras] 505 | all = ["boto3 (>=1.2.4)", "ghp-import", "hypothesis", "ipython (>=2.0)", "matplotlib", "numpydoc", "packaging", "pytest (>=2.8.2)", "pytest-cov (>=2.2.0)", "shapely", "sphinx", "sphinx-rtd-theme"] 506 | docs = ["ghp-import", "numpydoc", "sphinx", "sphinx-rtd-theme"] 507 | ipython = ["ipython (>=2.0)"] 508 | plot = ["matplotlib"] 509 | s3 = ["boto3 (>=1.2.4)"] 510 | test = ["boto3 (>=1.2.4)", "hypothesis", "packaging", "pytest (>=2.8.2)", "pytest-cov (>=2.2.0)", "shapely"] 511 | 512 | [[package]] 513 | name = "rfc3986" 514 | version = "1.5.0" 515 | description = "Validating URI References per RFC 3986" 516 | category = "main" 517 | optional = false 518 | python-versions = "*" 519 | 520 | [package.dependencies] 521 | idna = {version = "*", optional = true, markers = "extra == \"idna2008\""} 522 | 523 | [package.extras] 524 | idna2008 = ["idna"] 525 | 526 | [[package]] 527 | name = "rio-tiler" 528 | version = "4.1.8" 529 | description = "User friendly Rasterio plugin to read raster datasets." 530 | category = "main" 531 | optional = false 532 | python-versions = ">=3.8" 533 | 534 | [package.dependencies] 535 | attrs = "*" 536 | boto3 = "*" 537 | cachetools = "*" 538 | color-operations = "*" 539 | httpx = "*" 540 | morecantile = ">=3.1,<4.0" 541 | numexpr = "*" 542 | numpy = "*" 543 | pydantic = "*" 544 | pystac = ">=0.5.4" 545 | rasterio = ">=1.3.0" 546 | 547 | [package.extras] 548 | dev = ["pre-commit"] 549 | docs = ["mkdocs", "mkdocs-jupyter", "mkdocs-material", "nbconvert", "pygments"] 550 | test = ["pytest", "pytest-asyncio", "pytest-benchmark", "pytest-cov", "rioxarray", "xarray"] 551 | xarray = ["rioxarray", "xarray"] 552 | 553 | [[package]] 554 | name = "s3transfer" 555 | version = "0.6.0" 556 | description = "An Amazon S3 Transfer Manager" 557 | category = "main" 558 | optional = false 559 | python-versions = ">= 3.7" 560 | 561 | [package.dependencies] 562 | botocore = ">=1.12.36,<2.0a.0" 563 | 564 | [package.extras] 565 | crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] 566 | 567 | [[package]] 568 | name = "setuptools" 569 | version = "67.3.2" 570 | description = "Easily download, build, install, upgrade, and uninstall Python packages" 571 | category = "main" 572 | optional = false 573 | python-versions = ">=3.7" 574 | 575 | [package.extras] 576 | docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] 577 | testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] 578 | testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] 579 | 580 | [[package]] 581 | name = "simplejson" 582 | version = "3.18.3" 583 | description = "Simple, fast, extensible JSON encoder/decoder for Python" 584 | category = "main" 585 | optional = false 586 | python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*" 587 | 588 | [[package]] 589 | name = "six" 590 | version = "1.16.0" 591 | description = "Python 2 and 3 compatibility utilities" 592 | category = "main" 593 | optional = false 594 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" 595 | 596 | [[package]] 597 | name = "sniffio" 598 | version = "1.3.0" 599 | description = "Sniff out which async library your code is running under" 600 | category = "main" 601 | optional = false 602 | python-versions = ">=3.7" 603 | 604 | [[package]] 605 | name = "snuggs" 606 | version = "1.4.7" 607 | description = "Snuggs are s-expressions for Numpy" 608 | category = "main" 609 | optional = false 610 | python-versions = "*" 611 | 612 | [package.dependencies] 613 | numpy = "*" 614 | pyparsing = ">=2.1.6" 615 | 616 | [package.extras] 617 | test = ["hypothesis", "pytest"] 618 | 619 | [[package]] 620 | name = "starlette" 621 | version = "0.25.0" 622 | description = "The little ASGI library that shines." 623 | category = "main" 624 | optional = false 625 | python-versions = ">=3.7" 626 | 627 | [package.dependencies] 628 | anyio = ">=3.4.0,<5" 629 | 630 | [package.extras] 631 | full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"] 632 | 633 | [[package]] 634 | name = "titiler-core" 635 | version = "0.11.0" 636 | description = "A modern dynamic tile server built on top of FastAPI and Rasterio/GDAL." 637 | category = "main" 638 | optional = false 639 | python-versions = ">=3.8" 640 | 641 | [package.dependencies] 642 | fastapi = ">=0.87.0" 643 | geojson-pydantic = "*" 644 | jinja2 = ">=2.11.2,<4.0.0" 645 | numpy = "*" 646 | pydantic = "*" 647 | rasterio = "*" 648 | rio-tiler = ">=4.1,<4.2" 649 | simplejson = "*" 650 | 651 | [package.extras] 652 | test = ["httpx", "pytest", "pytest-asyncio", "pytest-cov"] 653 | 654 | [[package]] 655 | name = "tomli" 656 | version = "2.0.1" 657 | description = "A lil' TOML parser" 658 | category = "dev" 659 | optional = false 660 | python-versions = ">=3.7" 661 | 662 | [[package]] 663 | name = "typing-extensions" 664 | version = "4.5.0" 665 | description = "Backported and Experimental Type Hints for Python 3.7+" 666 | category = "main" 667 | optional = false 668 | python-versions = ">=3.7" 669 | 670 | [[package]] 671 | name = "urllib3" 672 | version = "1.26.14" 673 | description = "HTTP library with thread-safe connection pooling, file post, and more." 674 | category = "main" 675 | optional = false 676 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" 677 | 678 | [package.extras] 679 | brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] 680 | secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] 681 | socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] 682 | 683 | [metadata] 684 | lock-version = "1.1" 685 | python-versions = "^3.10" 686 | content-hash = "08e7d3c814e08a78e696d21aa1fd65bee68ba2b7a98bed57031fa619ebe4bf4c" 687 | 688 | [metadata.files] 689 | affine = [ 690 | {file = "affine-2.4.0-py3-none-any.whl", hash = "sha256:8a3df80e2b2378aef598a83c1392efd47967afec4242021a0b06b4c7cbc61a92"}, 691 | {file = "affine-2.4.0.tar.gz", hash = "sha256:a24d818d6a836c131976d22f8c27b8d3ca32d0af64c1d8d29deb7bafa4da1eea"}, 692 | ] 693 | anyio = [ 694 | {file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"}, 695 | {file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"}, 696 | ] 697 | attrs = [ 698 | {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, 699 | {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, 700 | ] 701 | boto3 = [ 702 | {file = "boto3-1.26.74-py3-none-any.whl", hash = "sha256:57f1696cbf5927180521ddabc37f10eb6650ccedc2b784dfb04502193bb65df9"}, 703 | {file = "boto3-1.26.74.tar.gz", hash = "sha256:a3cf126d18194e5d350ec46f99f1fff15beacdf091d1979e8471681688e14ba1"}, 704 | ] 705 | botocore = [ 706 | {file = "botocore-1.29.74-py3-none-any.whl", hash = "sha256:cb1e1a584c0bea3b1bcf39710eb7b2e58add56945598d95356bf9f6d4cc8b6ae"}, 707 | {file = "botocore-1.29.74.tar.gz", hash = "sha256:bf1515908c8ffdffa249e112fd9bbb54d919ce8fb5ee88baf9c198dda6172fd5"}, 708 | ] 709 | cachetools = [ 710 | {file = "cachetools-5.3.0-py3-none-any.whl", hash = "sha256:429e1a1e845c008ea6c85aa35d4b98b65d6a9763eeef3e37e92728a12d1de9d4"}, 711 | {file = "cachetools-5.3.0.tar.gz", hash = "sha256:13dfddc7b8df938c21a940dfa6557ce6e94a2f1cdfa58eb90c805721d58f2c14"}, 712 | ] 713 | certifi = [ 714 | {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, 715 | {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, 716 | ] 717 | click = [ 718 | {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, 719 | {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, 720 | ] 721 | click-plugins = [ 722 | {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, 723 | {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, 724 | ] 725 | cligj = [ 726 | {file = "cligj-0.7.2-py3-none-any.whl", hash = "sha256:c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df"}, 727 | {file = "cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27"}, 728 | ] 729 | color-operations = [ 730 | {file = "color-operations-0.1.0.tar.gz", hash = "sha256:97a0fd38e65eb255d81c4eafbf1cc46fe47d9744fcd35d23c5524ca951a0c357"}, 731 | {file = "color_operations-0.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ace6473357f564b16a6a00f1c505102a3aa2eecf3e8c21e43635f29894b4045c"}, 732 | {file = "color_operations-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0771058af5aecd777396394c36bc7018c4eaea732825c6a634282963a99e2880"}, 733 | {file = "color_operations-0.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a5839a34e606620aca6d0086152a8d6b3db1fe81bdcd6f41c39dd6c49ba8a32b"}, 734 | {file = "color_operations-0.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7421c0a223e6da70b7ccb0990547181e3fbac9e06d7c1fc8c0d0c2eef1fd50"}, 735 | {file = "color_operations-0.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e592ebcd87f7ec83ab6a67400cdde7be4367229c4f8b08c748eb76282283f22e"}, 736 | {file = "color_operations-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d08c3cb606711f06354e34fcd69b661881c31b1fd503a473538eadaab4cd7e09"}, 737 | {file = "color_operations-0.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:a609cd6f7cd31cdd69a466b08b45f4ef02e74ca757bfe80e06eb0ccb35319100"}, 738 | {file = "color_operations-0.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da11bcf56ec9ad4f68ebf5354fa65f392b450149d5764e92c2755bf5d5638a0e"}, 739 | {file = "color_operations-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:af8676f52e7c1d3f67524867e4ad024a66a5902545e4417a688c302e1aa0fe71"}, 740 | {file = "color_operations-0.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ca3d372a35195aba136ba32dec2a37b660439c1f4bb24effbe8b8a25c8f606aa"}, 741 | {file = "color_operations-0.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d286ce3643bbe20553a4c5d3b257aa32e39013b84ac62c61a664a90c4013c134"}, 742 | {file = "color_operations-0.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:da685c64aad7f46181fe8be803f5128924490d70263dbf5b61931df4df349f99"}, 743 | {file = "color_operations-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:494ef04a08c2e49faf1cfa5c43b5d9492057775105fe507fcf01c673ee33cd69"}, 744 | {file = "color_operations-0.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:ea64a16c3bee944cc899568830a4b200d868359bee0f4f15940c85948bca666c"}, 745 | {file = "color_operations-0.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b97d15b583cea40782d651026e39785ac8fdd82a5069e38ff6ca8206cbc09e56"}, 746 | {file = "color_operations-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c94baef775473e294845d4266a49671f65d04310137c560522d8d31131d5c980"}, 747 | {file = "color_operations-0.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7670f2274b821bc53e49a12869310cd92ef6f44678a3a6864ef2bea343e8bb7d"}, 748 | {file = "color_operations-0.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c6d20c449fe5e1014f16a9d67ccc0b1afc08eb24b74dc783b6e4f701e1c24f6"}, 749 | {file = "color_operations-0.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6b57a2712a6b7a8480031dc5cea1c9611c87325a0123ff4f6d578afd99275be4"}, 750 | {file = "color_operations-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8de42d1e30def88a3eb3f583c103dfb515719368160fda4a4fff91fbc7aa5748"}, 751 | {file = "color_operations-0.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:268917a289c203148b156ab50f1fc50caee56d1ad7fbec915ad447e3b6441041"}, 752 | {file = "color_operations-0.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ef7180ed2a7dd49f2c1019f799af0321a735aa974d624d4121799c21f7a1e3ca"}, 753 | {file = "color_operations-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8e7a5a1217e2dee29a55d90aa6c3238f1e6014d25a6f1fe6d28d2773757675af"}, 754 | {file = "color_operations-0.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7b385412eb3788aca05a74912466aa72cbaae3cb4dac390382b222db74df161"}, 755 | {file = "color_operations-0.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae81b3441430d53f99c403294f9eff14ea8829e3355fcc814e0c71f9b6608e8"}, 756 | {file = "color_operations-0.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7752d0a9b33cea190e64547a3e48cd8ffea7c978be2fae4d4a0c629680f02c06"}, 757 | {file = "color_operations-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c39f7b3bffe06717855596b4521b9ffba3715f2373e39c755bad58d5cf49abb4"}, 758 | {file = "color_operations-0.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:2160324183240805e195b5aed698ddcda440ad3d2a37bccf8508916cc274adf6"}, 759 | ] 760 | colorama = [ 761 | {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, 762 | {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, 763 | ] 764 | coverage = [ 765 | {file = "coverage-7.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3b946bbcd5a8231383450b195cfb58cb01cbe7f8949f5758566b881df4b33baf"}, 766 | {file = "coverage-7.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ec8e767f13be637d056f7e07e61d089e555f719b387a7070154ad80a0ff31801"}, 767 | {file = "coverage-7.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4a5a5879a939cb84959d86869132b00176197ca561c664fc21478c1eee60d75"}, 768 | {file = "coverage-7.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b643cb30821e7570c0aaf54feaf0bfb630b79059f85741843e9dc23f33aaca2c"}, 769 | {file = "coverage-7.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32df215215f3af2c1617a55dbdfb403b772d463d54d219985ac7cd3bf124cada"}, 770 | {file = "coverage-7.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:33d1ae9d4079e05ac4cc1ef9e20c648f5afabf1a92adfaf2ccf509c50b85717f"}, 771 | {file = "coverage-7.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:29571503c37f2ef2138a306d23e7270687c0efb9cab4bd8038d609b5c2393a3a"}, 772 | {file = "coverage-7.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:63ffd21aa133ff48c4dff7adcc46b7ec8b565491bfc371212122dd999812ea1c"}, 773 | {file = "coverage-7.1.0-cp310-cp310-win32.whl", hash = "sha256:4b14d5e09c656de5038a3f9bfe5228f53439282abcab87317c9f7f1acb280352"}, 774 | {file = "coverage-7.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:8361be1c2c073919500b6601220a6f2f98ea0b6d2fec5014c1d9cfa23dd07038"}, 775 | {file = "coverage-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:da9b41d4539eefd408c46725fb76ecba3a50a3367cafb7dea5f250d0653c1040"}, 776 | {file = "coverage-7.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5b15ed7644ae4bee0ecf74fee95808dcc34ba6ace87e8dfbf5cb0dc20eab45a"}, 777 | {file = "coverage-7.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d12d076582507ea460ea2a89a8c85cb558f83406c8a41dd641d7be9a32e1274f"}, 778 | {file = "coverage-7.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2617759031dae1bf183c16cef8fcfb3de7617f394c813fa5e8e46e9b82d4222"}, 779 | {file = "coverage-7.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4e4881fa9e9667afcc742f0c244d9364d197490fbc91d12ac3b5de0bf2df146"}, 780 | {file = "coverage-7.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9d58885215094ab4a86a6aef044e42994a2bd76a446dc59b352622655ba6621b"}, 781 | {file = "coverage-7.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ffeeb38ee4a80a30a6877c5c4c359e5498eec095878f1581453202bfacc8fbc2"}, 782 | {file = "coverage-7.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3baf5f126f30781b5e93dbefcc8271cb2491647f8283f20ac54d12161dff080e"}, 783 | {file = "coverage-7.1.0-cp311-cp311-win32.whl", hash = "sha256:ded59300d6330be27bc6cf0b74b89ada58069ced87c48eaf9344e5e84b0072f7"}, 784 | {file = "coverage-7.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:6a43c7823cd7427b4ed763aa7fb63901ca8288591323b58c9cd6ec31ad910f3c"}, 785 | {file = "coverage-7.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7a726d742816cb3a8973c8c9a97539c734b3a309345236cd533c4883dda05b8d"}, 786 | {file = "coverage-7.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc7c85a150501286f8b56bd8ed3aa4093f4b88fb68c0843d21ff9656f0009d6a"}, 787 | {file = "coverage-7.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f5b4198d85a3755d27e64c52f8c95d6333119e49fd001ae5798dac872c95e0f8"}, 788 | {file = "coverage-7.1.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb726cb861c3117a553f940372a495fe1078249ff5f8a5478c0576c7be12050"}, 789 | {file = "coverage-7.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:51b236e764840a6df0661b67e50697aaa0e7d4124ca95e5058fa3d7cbc240b7c"}, 790 | {file = "coverage-7.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7ee5c9bb51695f80878faaa5598040dd6c9e172ddcf490382e8aedb8ec3fec8d"}, 791 | {file = "coverage-7.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c31b75ae466c053a98bf26843563b3b3517b8f37da4d47b1c582fdc703112bc3"}, 792 | {file = "coverage-7.1.0-cp37-cp37m-win32.whl", hash = "sha256:3b155caf3760408d1cb903b21e6a97ad4e2bdad43cbc265e3ce0afb8e0057e73"}, 793 | {file = "coverage-7.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2a60d6513781e87047c3e630b33b4d1e89f39836dac6e069ffee28c4786715f5"}, 794 | {file = "coverage-7.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2cba5c6db29ce991029b5e4ac51eb36774458f0a3b8d3137241b32d1bb91f06"}, 795 | {file = "coverage-7.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beeb129cacea34490ffd4d6153af70509aa3cda20fdda2ea1a2be870dfec8d52"}, 796 | {file = "coverage-7.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c45948f613d5d18c9ec5eaa203ce06a653334cf1bd47c783a12d0dd4fd9c851"}, 797 | {file = "coverage-7.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef382417db92ba23dfb5864a3fc9be27ea4894e86620d342a116b243ade5d35d"}, 798 | {file = "coverage-7.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c7c0d0827e853315c9bbd43c1162c006dd808dbbe297db7ae66cd17b07830f0"}, 799 | {file = "coverage-7.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e5cdbb5cafcedea04924568d990e20ce7f1945a1dd54b560f879ee2d57226912"}, 800 | {file = "coverage-7.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9817733f0d3ea91bea80de0f79ef971ae94f81ca52f9b66500c6a2fea8e4b4f8"}, 801 | {file = "coverage-7.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:218fe982371ac7387304153ecd51205f14e9d731b34fb0568181abaf7b443ba0"}, 802 | {file = "coverage-7.1.0-cp38-cp38-win32.whl", hash = "sha256:04481245ef966fbd24ae9b9e537ce899ae584d521dfbe78f89cad003c38ca2ab"}, 803 | {file = "coverage-7.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:8ae125d1134bf236acba8b83e74c603d1b30e207266121e76484562bc816344c"}, 804 | {file = "coverage-7.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2bf1d5f2084c3932b56b962a683074a3692bce7cabd3aa023c987a2a8e7612f6"}, 805 | {file = "coverage-7.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:98b85dd86514d889a2e3dd22ab3c18c9d0019e696478391d86708b805f4ea0fa"}, 806 | {file = "coverage-7.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38da2db80cc505a611938d8624801158e409928b136c8916cd2e203970dde4dc"}, 807 | {file = "coverage-7.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3164d31078fa9efe406e198aecd2a02d32a62fecbdef74f76dad6a46c7e48311"}, 808 | {file = "coverage-7.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db61a79c07331e88b9a9974815c075fbd812bc9dbc4dc44b366b5368a2936063"}, 809 | {file = "coverage-7.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ccb092c9ede70b2517a57382a601619d20981f56f440eae7e4d7eaafd1d1d09"}, 810 | {file = "coverage-7.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:33ff26d0f6cc3ca8de13d14fde1ff8efe1456b53e3f0273e63cc8b3c84a063d8"}, 811 | {file = "coverage-7.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d47dd659a4ee952e90dc56c97d78132573dc5c7b09d61b416a9deef4ebe01a0c"}, 812 | {file = "coverage-7.1.0-cp39-cp39-win32.whl", hash = "sha256:d248cd4a92065a4d4543b8331660121b31c4148dd00a691bfb7a5cdc7483cfa4"}, 813 | {file = "coverage-7.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:7ed681b0f8e8bcbbffa58ba26fcf5dbc8f79e7997595bf071ed5430d8c08d6f3"}, 814 | {file = "coverage-7.1.0-pp37.pp38.pp39-none-any.whl", hash = "sha256:755e89e32376c850f826c425ece2c35a4fc266c081490eb0a841e7c1cb0d3bda"}, 815 | {file = "coverage-7.1.0.tar.gz", hash = "sha256:10188fe543560ec4874f974b5305cd1a8bdcfa885ee00ea3a03733464c4ca265"}, 816 | ] 817 | exceptiongroup = [ 818 | {file = "exceptiongroup-1.1.0-py3-none-any.whl", hash = "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e"}, 819 | {file = "exceptiongroup-1.1.0.tar.gz", hash = "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23"}, 820 | ] 821 | fastapi = [ 822 | {file = "fastapi-0.92.0-py3-none-any.whl", hash = "sha256:ae7b97c778e2f2ec3fb3cb4fb14162129411d99907fb71920f6d69a524340ebf"}, 823 | {file = "fastapi-0.92.0.tar.gz", hash = "sha256:023a0f5bd2c8b2609014d3bba1e14a1d7df96c6abea0a73070621c9862b9a4de"}, 824 | ] 825 | geojson-pydantic = [ 826 | {file = "geojson-pydantic-0.5.0.tar.gz", hash = "sha256:11a49d6c2b86b4cf72b8394ed7f109a65270f1861b0a2565fb1c979c3dc27df4"}, 827 | {file = "geojson_pydantic-0.5.0-py3-none-any.whl", hash = "sha256:1a5fffa12dbfcb9f301a03a008a8f71b2eafb954968eab1fe70fc58f382a1632"}, 828 | ] 829 | h11 = [ 830 | {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, 831 | {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, 832 | ] 833 | httpcore = [ 834 | {file = "httpcore-0.16.3-py3-none-any.whl", hash = "sha256:da1fb708784a938aa084bde4feb8317056c55037247c787bd7e19eb2c2949dc0"}, 835 | {file = "httpcore-0.16.3.tar.gz", hash = "sha256:c5d6f04e2fc530f39e0c077e6a30caa53f1451096120f1f38b954afd0b17c0cb"}, 836 | ] 837 | httpx = [ 838 | {file = "httpx-0.23.3-py3-none-any.whl", hash = "sha256:a211fcce9b1254ea24f0cd6af9869b3d29aba40154e947d2a07bb499b3e310d6"}, 839 | {file = "httpx-0.23.3.tar.gz", hash = "sha256:9818458eb565bb54898ccb9b8b251a28785dd4a55afbc23d0eb410754fe7d0f9"}, 840 | ] 841 | idna = [ 842 | {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, 843 | {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, 844 | ] 845 | iniconfig = [ 846 | {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, 847 | {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, 848 | ] 849 | jinja2 = [ 850 | {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, 851 | {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, 852 | ] 853 | jmespath = [ 854 | {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, 855 | {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, 856 | ] 857 | markupsafe = [ 858 | {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, 859 | {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, 860 | {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, 861 | {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, 862 | {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, 863 | {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, 864 | {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, 865 | {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, 866 | {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, 867 | {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, 868 | {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, 869 | {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, 870 | {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, 871 | {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, 872 | {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, 873 | {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, 874 | {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, 875 | {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, 876 | {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, 877 | {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, 878 | {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, 879 | {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, 880 | {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, 881 | {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, 882 | {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, 883 | {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, 884 | {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, 885 | {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, 886 | {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, 887 | {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, 888 | {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, 889 | {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, 890 | {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, 891 | {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, 892 | {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, 893 | {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, 894 | {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, 895 | {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, 896 | {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, 897 | {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, 898 | {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, 899 | {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, 900 | {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, 901 | {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, 902 | {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, 903 | {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, 904 | {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, 905 | {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, 906 | {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, 907 | {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, 908 | ] 909 | morecantile = [ 910 | {file = "morecantile-3.2.5-py3-none-any.whl", hash = "sha256:0490b452d7aa168717ef24d71e3fe727e14a38c8039e6b85938ce4819511e386"}, 911 | {file = "morecantile-3.2.5.tar.gz", hash = "sha256:c6ec1b9e63c3b074f34e17a9afd0a911c5186cf797bcb44b1903724f7cd36c35"}, 912 | ] 913 | numexpr = [ 914 | {file = "numexpr-2.8.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a75967d46b6bd56455dd32da6285e5ffabe155d0ee61eef685bbfb8dafb2e484"}, 915 | {file = "numexpr-2.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db93cf1842f068247de631bfc8af20118bf1f9447cd929b531595a5e0efc9346"}, 916 | {file = "numexpr-2.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bca95f4473b444428061d4cda8e59ac564dc7dc6a1dea3015af9805c6bc2946"}, 917 | {file = "numexpr-2.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e34931089a6bafc77aaae21f37ad6594b98aa1085bb8b45d5b3cd038c3c17d9"}, 918 | {file = "numexpr-2.8.4-cp310-cp310-win32.whl", hash = "sha256:f3a920bfac2645017110b87ddbe364c9c7a742870a4d2f6120b8786c25dc6db3"}, 919 | {file = "numexpr-2.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:6931b1e9d4f629f43c14b21d44f3f77997298bea43790cfcdb4dd98804f90783"}, 920 | {file = "numexpr-2.8.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9400781553541f414f82eac056f2b4c965373650df9694286b9bd7e8d413f8d8"}, 921 | {file = "numexpr-2.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ee9db7598dd4001138b482342b96d78110dd77cefc051ec75af3295604dde6a"}, 922 | {file = "numexpr-2.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff5835e8af9a212e8480003d731aad1727aaea909926fd009e8ae6a1cba7f141"}, 923 | {file = "numexpr-2.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:655d84eb09adfee3c09ecf4a89a512225da153fdb7de13c447404b7d0523a9a7"}, 924 | {file = "numexpr-2.8.4-cp311-cp311-win32.whl", hash = "sha256:5538b30199bfc68886d2be18fcef3abd11d9271767a7a69ff3688defe782800a"}, 925 | {file = "numexpr-2.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:3f039321d1c17962c33079987b675fb251b273dbec0f51aac0934e932446ccc3"}, 926 | {file = "numexpr-2.8.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c867cc36cf815a3ec9122029874e00d8fbcef65035c4a5901e9b120dd5d626a2"}, 927 | {file = "numexpr-2.8.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:059546e8f6283ccdb47c683101a890844f667fa6d56258d48ae2ecf1b3875957"}, 928 | {file = "numexpr-2.8.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:845a6aa0ed3e2a53239b89c1ebfa8cf052d3cc6e053c72805e8153300078c0b1"}, 929 | {file = "numexpr-2.8.4-cp37-cp37m-win32.whl", hash = "sha256:a38664e699526cb1687aefd9069e2b5b9387da7feac4545de446141f1ef86f46"}, 930 | {file = "numexpr-2.8.4-cp37-cp37m-win_amd64.whl", hash = "sha256:eaec59e9bf70ff05615c34a8b8d6c7bd042bd9f55465d7b495ea5436f45319d0"}, 931 | {file = "numexpr-2.8.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b318541bf3d8326682ebada087ba0050549a16d8b3fa260dd2585d73a83d20a7"}, 932 | {file = "numexpr-2.8.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b076db98ca65eeaf9bd224576e3ac84c05e451c0bd85b13664b7e5f7b62e2c70"}, 933 | {file = "numexpr-2.8.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90f12cc851240f7911a47c91aaf223dba753e98e46dff3017282e633602e76a7"}, 934 | {file = "numexpr-2.8.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c368aa35ae9b18840e78b05f929d3a7b3abccdba9630a878c7db74ca2368339"}, 935 | {file = "numexpr-2.8.4-cp38-cp38-win32.whl", hash = "sha256:b96334fc1748e9ec4f93d5fadb1044089d73fb08208fdb8382ed77c893f0be01"}, 936 | {file = "numexpr-2.8.4-cp38-cp38-win_amd64.whl", hash = "sha256:a6d2d7740ae83ba5f3531e83afc4b626daa71df1ef903970947903345c37bd03"}, 937 | {file = "numexpr-2.8.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:77898fdf3da6bb96aa8a4759a8231d763a75d848b2f2e5c5279dad0b243c8dfe"}, 938 | {file = "numexpr-2.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df35324666b693f13a016bc7957de7cc4d8801b746b81060b671bf78a52b9037"}, 939 | {file = "numexpr-2.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ac9cfe6d0078c5fc06ba1c1bbd20b8783f28c6f475bbabd3cad53683075cab"}, 940 | {file = "numexpr-2.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df3a1f6b24214a1ab826e9c1c99edf1686c8e307547a9aef33910d586f626d01"}, 941 | {file = "numexpr-2.8.4-cp39-cp39-win32.whl", hash = "sha256:7d71add384adc9119568d7e9ffa8a35b195decae81e0abf54a2b7779852f0637"}, 942 | {file = "numexpr-2.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:9f096d707290a6a00b6ffdaf581ee37331109fb7b6c8744e9ded7c779a48e517"}, 943 | {file = "numexpr-2.8.4.tar.gz", hash = "sha256:d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147"}, 944 | ] 945 | numpy = [ 946 | {file = "numpy-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eef70b4fc1e872ebddc38cddacc87c19a3709c0e3e5d20bf3954c147b1dd941d"}, 947 | {file = "numpy-1.24.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8d2859428712785e8a8b7d2b3ef0a1d1565892367b32f915c4a4df44d0e64f5"}, 948 | {file = "numpy-1.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6524630f71631be2dabe0c541e7675db82651eb998496bbe16bc4f77f0772253"}, 949 | {file = "numpy-1.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a51725a815a6188c662fb66fb32077709a9ca38053f0274640293a14fdd22978"}, 950 | {file = "numpy-1.24.2-cp310-cp310-win32.whl", hash = "sha256:2620e8592136e073bd12ee4536149380695fbe9ebeae845b81237f986479ffc9"}, 951 | {file = "numpy-1.24.2-cp310-cp310-win_amd64.whl", hash = "sha256:97cf27e51fa078078c649a51d7ade3c92d9e709ba2bfb97493007103c741f1d0"}, 952 | {file = "numpy-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7de8fdde0003f4294655aa5d5f0a89c26b9f22c0a58790c38fae1ed392d44a5a"}, 953 | {file = "numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4173bde9fa2a005c2c6e2ea8ac1618e2ed2c1c6ec8a7657237854d42094123a0"}, 954 | {file = "numpy-1.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cecaed30dc14123020f77b03601559fff3e6cd0c048f8b5289f4eeabb0eb281"}, 955 | {file = "numpy-1.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a23f8440561a633204a67fb44617ce2a299beecf3295f0d13c495518908e910"}, 956 | {file = "numpy-1.24.2-cp311-cp311-win32.whl", hash = "sha256:e428c4fbfa085f947b536706a2fc349245d7baa8334f0c5723c56a10595f9b95"}, 957 | {file = "numpy-1.24.2-cp311-cp311-win_amd64.whl", hash = "sha256:557d42778a6869c2162deb40ad82612645e21d79e11c1dc62c6e82a2220ffb04"}, 958 | {file = "numpy-1.24.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d0a2db9d20117bf523dde15858398e7c0858aadca7c0f088ac0d6edd360e9ad2"}, 959 | {file = "numpy-1.24.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c72a6b2f4af1adfe193f7beb91ddf708ff867a3f977ef2ec53c0ffb8283ab9f5"}, 960 | {file = "numpy-1.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c29e6bd0ec49a44d7690ecb623a8eac5ab8a923bce0bea6293953992edf3a76a"}, 961 | {file = "numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2eabd64ddb96a1239791da78fa5f4e1693ae2dadc82a76bc76a14cbb2b966e96"}, 962 | {file = "numpy-1.24.2-cp38-cp38-win32.whl", hash = "sha256:e3ab5d32784e843fc0dd3ab6dcafc67ef806e6b6828dc6af2f689be0eb4d781d"}, 963 | {file = "numpy-1.24.2-cp38-cp38-win_amd64.whl", hash = "sha256:76807b4063f0002c8532cfeac47a3068a69561e9c8715efdad3c642eb27c0756"}, 964 | {file = "numpy-1.24.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4199e7cfc307a778f72d293372736223e39ec9ac096ff0a2e64853b866a8e18a"}, 965 | {file = "numpy-1.24.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:adbdce121896fd3a17a77ab0b0b5eedf05a9834a18699db6829a64e1dfccca7f"}, 966 | {file = "numpy-1.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:889b2cc88b837d86eda1b17008ebeb679d82875022200c6e8e4ce6cf549b7acb"}, 967 | {file = "numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f64bb98ac59b3ea3bf74b02f13836eb2e24e48e0ab0145bbda646295769bd780"}, 968 | {file = "numpy-1.24.2-cp39-cp39-win32.whl", hash = "sha256:63e45511ee4d9d976637d11e6c9864eae50e12dc9598f531c035265991910468"}, 969 | {file = "numpy-1.24.2-cp39-cp39-win_amd64.whl", hash = "sha256:a77d3e1163a7770164404607b7ba3967fb49b24782a6ef85d9b5f54126cc39e5"}, 970 | {file = "numpy-1.24.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:92011118955724465fb6853def593cf397b4a1367495e0b59a7e69d40c4eb71d"}, 971 | {file = "numpy-1.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9006288bcf4895917d02583cf3411f98631275bc67cce355a7f39f8c14338fa"}, 972 | {file = "numpy-1.24.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:150947adbdfeceec4e5926d956a06865c1c690f2fd902efede4ca6fe2e657c3f"}, 973 | {file = "numpy-1.24.2.tar.gz", hash = "sha256:003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22"}, 974 | ] 975 | packaging = [ 976 | {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, 977 | {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, 978 | ] 979 | pluggy = [ 980 | {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, 981 | {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, 982 | ] 983 | pydantic = [ 984 | {file = "pydantic-1.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5920824fe1e21cbb3e38cf0f3dd24857c8959801d1031ce1fac1d50857a03bfb"}, 985 | {file = "pydantic-1.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3bb99cf9655b377db1a9e47fa4479e3330ea96f4123c6c8200e482704bf1eda2"}, 986 | {file = "pydantic-1.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2185a3b3d98ab4506a3f6707569802d2d92c3a7ba3a9a35683a7709ea6c2aaa2"}, 987 | {file = "pydantic-1.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f582cac9d11c227c652d3ce8ee223d94eb06f4228b52a8adaafa9fa62e73d5c9"}, 988 | {file = "pydantic-1.10.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c9e5b778b6842f135902e2d82624008c6a79710207e28e86966cd136c621bfee"}, 989 | {file = "pydantic-1.10.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:72ef3783be8cbdef6bca034606a5de3862be6b72415dc5cb1fb8ddbac110049a"}, 990 | {file = "pydantic-1.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:45edea10b75d3da43cfda12f3792833a3fa70b6eee4db1ed6aed528cef17c74e"}, 991 | {file = "pydantic-1.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:63200cd8af1af2c07964546b7bc8f217e8bda9d0a2ef0ee0c797b36353914984"}, 992 | {file = "pydantic-1.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:305d0376c516b0dfa1dbefeae8c21042b57b496892d721905a6ec6b79494a66d"}, 993 | {file = "pydantic-1.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fd326aff5d6c36f05735c7c9b3d5b0e933b4ca52ad0b6e4b38038d82703d35b"}, 994 | {file = "pydantic-1.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bb0452d7b8516178c969d305d9630a3c9b8cf16fcf4713261c9ebd465af0d73"}, 995 | {file = "pydantic-1.10.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9a9d9155e2a9f38b2eb9374c88f02fd4d6851ae17b65ee786a87d032f87008f8"}, 996 | {file = "pydantic-1.10.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f836444b4c5ece128b23ec36a446c9ab7f9b0f7981d0d27e13a7c366ee163f8a"}, 997 | {file = "pydantic-1.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:8481dca324e1c7b715ce091a698b181054d22072e848b6fc7895cd86f79b4449"}, 998 | {file = "pydantic-1.10.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:87f831e81ea0589cd18257f84386bf30154c5f4bed373b7b75e5cb0b5d53ea87"}, 999 | {file = "pydantic-1.10.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ce1612e98c6326f10888df951a26ec1a577d8df49ddcaea87773bfbe23ba5cc"}, 1000 | {file = "pydantic-1.10.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58e41dd1e977531ac6073b11baac8c013f3cd8706a01d3dc74e86955be8b2c0c"}, 1001 | {file = "pydantic-1.10.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6a4b0aab29061262065bbdede617ef99cc5914d1bf0ddc8bcd8e3d7928d85bd6"}, 1002 | {file = "pydantic-1.10.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:36e44a4de37b8aecffa81c081dbfe42c4d2bf9f6dff34d03dce157ec65eb0f15"}, 1003 | {file = "pydantic-1.10.5-cp37-cp37m-win_amd64.whl", hash = "sha256:261f357f0aecda005934e413dfd7aa4077004a174dafe414a8325e6098a8e419"}, 1004 | {file = "pydantic-1.10.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b429f7c457aebb7fbe7cd69c418d1cd7c6fdc4d3c8697f45af78b8d5a7955760"}, 1005 | {file = "pydantic-1.10.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:663d2dd78596c5fa3eb996bc3f34b8c2a592648ad10008f98d1348be7ae212fb"}, 1006 | {file = "pydantic-1.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51782fd81f09edcf265823c3bf43ff36d00db246eca39ee765ef58dc8421a642"}, 1007 | {file = "pydantic-1.10.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c428c0f64a86661fb4873495c4fac430ec7a7cef2b8c1c28f3d1a7277f9ea5ab"}, 1008 | {file = "pydantic-1.10.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:76c930ad0746c70f0368c4596020b736ab65b473c1f9b3872310a835d852eb19"}, 1009 | {file = "pydantic-1.10.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3257bd714de9db2102b742570a56bf7978e90441193acac109b1f500290f5718"}, 1010 | {file = "pydantic-1.10.5-cp38-cp38-win_amd64.whl", hash = "sha256:f5bee6c523d13944a1fdc6f0525bc86dbbd94372f17b83fa6331aabacc8fd08e"}, 1011 | {file = "pydantic-1.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:532e97c35719f137ee5405bd3eeddc5c06eb91a032bc755a44e34a712420daf3"}, 1012 | {file = "pydantic-1.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ca9075ab3de9e48b75fa8ccb897c34ccc1519177ad8841d99f7fd74cf43be5bf"}, 1013 | {file = "pydantic-1.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd46a0e6296346c477e59a954da57beaf9c538da37b9df482e50f836e4a7d4bb"}, 1014 | {file = "pydantic-1.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3353072625ea2a9a6c81ad01b91e5c07fa70deb06368c71307529abf70d23325"}, 1015 | {file = "pydantic-1.10.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3f9d9b2be177c3cb6027cd67fbf323586417868c06c3c85d0d101703136e6b31"}, 1016 | {file = "pydantic-1.10.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b473d00ccd5c2061fd896ac127b7755baad233f8d996ea288af14ae09f8e0d1e"}, 1017 | {file = "pydantic-1.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:5f3bc8f103b56a8c88021d481410874b1f13edf6e838da607dcb57ecff9b4594"}, 1018 | {file = "pydantic-1.10.5-py3-none-any.whl", hash = "sha256:7c5b94d598c90f2f46b3a983ffb46ab806a67099d118ae0da7ef21a2a4033b28"}, 1019 | {file = "pydantic-1.10.5.tar.gz", hash = "sha256:9e337ac83686645a46db0e825acceea8e02fca4062483f40e9ae178e8bd1103a"}, 1020 | ] 1021 | pydelatin = [ 1022 | {file = "pydelatin-0.2.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:91534a496f500f700b20f3258a9c39c19d6996f5ec42cec87da31c44a7c942dc"}, 1023 | {file = "pydelatin-0.2.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5526e4a45e40a5b721d078678202c6956b760053bab0ab79139f2cae7138f7f"}, 1024 | {file = "pydelatin-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49f3aa0181e4d74dc9b8a9511926b725a945dab1556baf21b959ac66b58a71a4"}, 1025 | {file = "pydelatin-0.2.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6ba4f7eed049d3b7510d586af0dcbb0e43a4384e08daffe166c146de438e901e"}, 1026 | {file = "pydelatin-0.2.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6a5cc834977abddbc36d964a94593561fcd9d6163fe1f69b6b4b52e4bfbd37b7"}, 1027 | {file = "pydelatin-0.2.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:414f7497300fa8a0535593198def97f5638ba21f73fb701490e281808f93bb0c"}, 1028 | {file = "pydelatin-0.2.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c69f8f4d5cd53c77d2d3a96c9937d59b9663a41350fb6646c4af675905b33c9"}, 1029 | {file = "pydelatin-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28061f05767015f5f3bd130b008ac866e3d491d694f38fa5e2111ce39a07e33d"}, 1030 | {file = "pydelatin-0.2.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d42a28eaec2e0392fe89da8e9f63612b33939836e87de31d55a925798494a327"}, 1031 | {file = "pydelatin-0.2.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:22fb724de257d9b0ada6d3da3ef690570a6813d8fa58ca947bf45c66c967c652"}, 1032 | {file = "pydelatin-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:56b1562067b672801018d41e3cc48c9d266dab73ff8e63ab34f5bb8b0a02fbe0"}, 1033 | {file = "pydelatin-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5bda27f2a8274df46f33200b7834e751ddcbb0eb3dded199cc6d4525b876d51"}, 1034 | {file = "pydelatin-0.2.7-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:0ddf94f61a9cab76a624e393ecd709e206bf2082b5aefade3dd02c54366685fe"}, 1035 | {file = "pydelatin-0.2.7-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5a9bbec86332eed40ac92860b5ae64beb928a2942d8a44fb209712011f91dbb4"}, 1036 | {file = "pydelatin-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:071564364359ccc3a731753f45ca454ac9aca894c3c6f0b1ff0c26c9973b6144"}, 1037 | {file = "pydelatin-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55bf263d127f843d10d3a34e2508df6a9cebccb59f7e76b9f2829d2b970d2822"}, 1038 | {file = "pydelatin-0.2.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ccf42beb57d8e343155b5e98788524c0d4ddb0e740a5c711083da4f5b72fc041"}, 1039 | {file = "pydelatin-0.2.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c48d4cbf1916b879fe15e4b92f588d742ffaf2ae011d6480b33a57677d848ecf"}, 1040 | {file = "pydelatin-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9d6a5a073e6c463dda9153193a665968079828b4d1369a36c982f60613183752"}, 1041 | {file = "pydelatin-0.2.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c5a572657245fb3ea210588de5ca2bea2a6779e81fab0730ad263f7fb4224a4a"}, 1042 | {file = "pydelatin-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:412da14778c7290538fa3b7fee9e27383540c5ecd20738c21299517ae39e8651"}, 1043 | {file = "pydelatin-0.2.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:20ba4c3b9f9859f1fdbb5a04da64efcdc7f908e06447cc613cf79ef9a0fc8908"}, 1044 | {file = "pydelatin-0.2.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f51d6714053aa25f357149d8002cf021c3de64e2b758886c8667ef8971b01899"}, 1045 | {file = "pydelatin-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a8441fe27d14f1597567bb13545456c618d131d90ebf06d14c7eecf7b0ee2032"}, 1046 | {file = "pydelatin-0.2.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1dde7e9c5f282537c9d7702c354b8c0256299dbcda08c14ed02a228bb1b04eab"}, 1047 | {file = "pydelatin-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c82c1a96faf3cc96c119b72200e9383121ad361b067629c4ac1892c892307be"}, 1048 | {file = "pydelatin-0.2.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7506357de91310f2fe0b66f5014f611cdba542a41a269456344ce1cf8b9028d8"}, 1049 | {file = "pydelatin-0.2.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:be597a801b0cb01ba7cc221c5c243fe7f0e44881522e437e7f1f42859778389c"}, 1050 | {file = "pydelatin-0.2.7.tar.gz", hash = "sha256:fb28ddd871160539fa410821244d25beb057f45ebad277d6ee3f54f0e2fdc71c"}, 1051 | ] 1052 | pymartini = [ 1053 | {file = "pymartini-0.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8965d3a806bf90b97a338864f25db8ada27ef7e3b8d2490ea1c2f9dbcf3e0a28"}, 1054 | {file = "pymartini-0.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:631d13b4a84d90c343029a1e9146458cf222a7eecc99d355deade778d653cddc"}, 1055 | {file = "pymartini-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e8c9b31c99609afa380d7856097db076d9cbfa099badfca17cb78ec9eb69ff"}, 1056 | {file = "pymartini-0.4.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22e31c205943e2e1accfcc4ac8e85f80762b0ee849f74fec9ed2d127169b6f22"}, 1057 | {file = "pymartini-0.4.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d90347ceef21d9e20e43ec48bf720ce0aab48be46ba26d5abaf4b5da9b2a30db"}, 1058 | {file = "pymartini-0.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:be5970c8ae940afbf526a12e81a4e0b87c3475ea6db999df1495ac5d15717422"}, 1059 | {file = "pymartini-0.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cf0d03fa90461ad09f0367edc1271c37c595fab48b5086ae3b0f3da38b043661"}, 1060 | {file = "pymartini-0.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:57b32b257b83611ea45286783fe25a30b6bde6ce4ccab009d3599ed45b7456bc"}, 1061 | {file = "pymartini-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8cd3e5f2fee3bc4bf7772c8e8bac2d9c4db86cdf4cc95b8438e611e9e11dc78"}, 1062 | {file = "pymartini-0.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:07b0bef0eafcd64f9751d296d10cce4498144e493fdcce23312b57b3ae7675d0"}, 1063 | {file = "pymartini-0.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a63f2b597b142b616b0819d67fecfcf5ca1fe6297cd40267031b75c711a4c29"}, 1064 | {file = "pymartini-0.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:247cb7479f944935b33c94b7d0317c7c72c8848da68a5820f7c6dde056ed946d"}, 1065 | {file = "pymartini-0.4.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d61991bcc2e55799ec41dce2adf56869b58fdaacf7c74876e0854e94e915f161"}, 1066 | {file = "pymartini-0.4.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8e8e1b1b86854cc1a031efb9277f3c9d57c5404a76a622e9ca0406d8a713c8"}, 1067 | {file = "pymartini-0.4.4-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:e22817f586dfa2420316b4f2d0f628fb764a283ca3c09107664e65891dd20baa"}, 1068 | {file = "pymartini-0.4.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:3103892f54a1b456ae2fd48df06c2a1ffa45411f35b41f42b36a93c3db702386"}, 1069 | {file = "pymartini-0.4.4-cp36-cp36m-win_amd64.whl", hash = "sha256:61386d0226f3e19abdec277ba701af986bfddacde8185e47cad367a9e37a2888"}, 1070 | {file = "pymartini-0.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d35fa38bd0d89d9dbdaf6532300b11999134f756ad9393d7f2052fb8689126d2"}, 1071 | {file = "pymartini-0.4.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:136a16c5c8cee826da77f44a06ff940d5fec2d6818de543dcd8c169c86a052d6"}, 1072 | {file = "pymartini-0.4.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6b6ee47afaee7bd66697c2fef713ea17ccf5c6b6926813790154da63ba43982a"}, 1073 | {file = "pymartini-0.4.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:789c8aa13ec6e14db7666ca07b52e2b7160b1cd36daf0ad7cf97eae0317add64"}, 1074 | {file = "pymartini-0.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:90d1862ae59d1f5b82e3bcef53c129409982603377181af58d34b33aa96d3577"}, 1075 | {file = "pymartini-0.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:014b62ec5d66273a2c4e4be651f19d37742a7774c91caff76f8506f29762d022"}, 1076 | {file = "pymartini-0.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f3d161e892d4e3cdd569d79b77a2958856528dae39292aa02a799832ef8eaf25"}, 1077 | {file = "pymartini-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d658403f8b2eea379d91c2df2d89e25712361d2b5aa4138a0fb22efb4559ce38"}, 1078 | {file = "pymartini-0.4.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b5f62cfc809e60fd508242f2865a83ba20d77c9958dd0987cfe71a84166108dd"}, 1079 | {file = "pymartini-0.4.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:abedb8d6a82c383b7dac6e737f151e9c5b9eef16dcb6921ff615bc8375f53ffc"}, 1080 | {file = "pymartini-0.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:37a4517be00148e0a62c32bc84802494b9ead15cbd9ed4bbdf62e8802aca354c"}, 1081 | {file = "pymartini-0.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8f5660d1c259e49e7bc26eb65d087f30c8b3d743620ea599ba9229189665f229"}, 1082 | {file = "pymartini-0.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:15b7720830b9c78378835b072e473b42cab45c0913fb8fbdd297820f2b85a3bf"}, 1083 | {file = "pymartini-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:895becb907412cbbef1e21372846350dfe376923bec992b79464bf31ec89735c"}, 1084 | {file = "pymartini-0.4.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eeea9f98c533509360a10cee21b1ec12c1b20334e5f0fbcd3087183e77937260"}, 1085 | {file = "pymartini-0.4.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b3d5e15ca7478ed44281277dd9ee5da9e7f762da0c4f1991fdafaab44b453e1"}, 1086 | {file = "pymartini-0.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:667bbdda7775e5345fc07e96849874a7a3c969ca346cc71e49a2e67109a2fabc"}, 1087 | {file = "pymartini-0.4.4.tar.gz", hash = "sha256:aa074e68b8ae463b73a741bfe9d299d16f4b6537779b26dda1e7575025ee981b"}, 1088 | ] 1089 | pyparsing = [ 1090 | {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, 1091 | {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, 1092 | ] 1093 | pyproj = [ 1094 | {file = "pyproj-3.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e463c687007861a9949909211986850cfc2e72930deda0d06449ef2e315db534"}, 1095 | {file = "pyproj-3.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f87f16b902c8b2af007295c63a435f043db9e40bd45e6f96962c7b8cd08fdb5"}, 1096 | {file = "pyproj-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c60d112d8f1621a606b7f2adb0b1582f80498e663413d2ba9f5df1c93d99f432"}, 1097 | {file = "pyproj-3.4.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f38dea459e22e86326b1c7d47718a3e10c7a27910cf5eb86ea2679b8084d0c4e"}, 1098 | {file = "pyproj-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a53acbde511a7a9e1873c7f93c68f35b8c3653467b77195fe18e847555dcb7a"}, 1099 | {file = "pyproj-3.4.1-cp310-cp310-win32.whl", hash = "sha256:0c7b32382ae22a9bf5b690d24c7b4c0fb89ba313c3a91ef1a8c54b50baf10954"}, 1100 | {file = "pyproj-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:6bdac3bc1899fcc4021be06d303b342923fb8311fe06f8d862c348a1a0e78b41"}, 1101 | {file = "pyproj-3.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cd9f9c409f465834988ce0aa8c1ed496081c6957f2e5ef40ed28de04397d3c0b"}, 1102 | {file = "pyproj-3.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0406f64ff59eb3342efb102c9f31536430aa5cde5ef0bfabd5aaccb73dd8cd5a"}, 1103 | {file = "pyproj-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a98fe3e53be428e67ae6a9ee9affff92346622e0e3ea0cbc15dce939b318d395"}, 1104 | {file = "pyproj-3.4.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0189fdd7aa789542a7a623010dfff066c5849b24397f81f860ec3ee085cbf55c"}, 1105 | {file = "pyproj-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f3f75b030cf811f040c90a8758a20115e8746063e4cad0d0e941a4954d1219b"}, 1106 | {file = "pyproj-3.4.1-cp311-cp311-win32.whl", hash = "sha256:ef8c30c62fe4e386e523e14e1e83bd460f745bd2c8dfd0d0c327f9460c4d3c0c"}, 1107 | {file = "pyproj-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d1e7f42da205e0534831ae9aa9cee0353ab8c1aab2c369474adbb060294d98a"}, 1108 | {file = "pyproj-3.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a5eada965e8ac24e783f2493d1d9bcd11c5c93959bd43558224dd31d9faebd1c"}, 1109 | {file = "pyproj-3.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:19f5de1a7c3b81b676d846350d4bdf2ae6af13b9a450d1881706f088ecad0e2c"}, 1110 | {file = "pyproj-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57ec7d2b7f2773d877927abc72e2229ef8530c09181be0e28217742bae1bc4f5"}, 1111 | {file = "pyproj-3.4.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a30d78e619dae5cd1bb69addae2f1e5f8ee1b4a8ab4f3d954e9eaf41948db506"}, 1112 | {file = "pyproj-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a32e1d12340ad93232b7ea4dc1a4f4b21fa9fa9efa4b293adad45be7af6b51ec"}, 1113 | {file = "pyproj-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ce50126dad7cd4749ab86fc4c8b54ec0898149ce6710ab5c93c76a54a4afa249"}, 1114 | {file = "pyproj-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:129234afa179c8293b010ea4f73655ff7b20b5afdf7fac170f223bcf0ed6defd"}, 1115 | {file = "pyproj-3.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:231c038c6b65395c41ae3362320f03ce8054cb54dc63556e605695e5d461a27e"}, 1116 | {file = "pyproj-3.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e9d82df555cf19001bac40e1de0e40fb762dec785685b77edd6993286c01b7f7"}, 1117 | {file = "pyproj-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c0d1ac9ef5a4d2e6501a4b30136c55f1e1db049d1626cc313855c4f97d196d"}, 1118 | {file = "pyproj-3.4.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97065fe82e80f7e2740e7897a0e36e8defc0a3614927f0276b4f1d1ea1ef66fa"}, 1119 | {file = "pyproj-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bd633f3b8ca6eb09135dfaf06f09e2869deb139985aab26d728e8a60c9938b9"}, 1120 | {file = "pyproj-3.4.1-cp39-cp39-win32.whl", hash = "sha256:da96319b137cfd66f0bae0e300cdc77dd17af4785b9360a9bdddb1d7176a0bbb"}, 1121 | {file = "pyproj-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:7aef19d5a0a3b2d6b17f7dc9a87af722e71139cd1eea7eb82ed062a8a4b0e272"}, 1122 | {file = "pyproj-3.4.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8078c90cea07d53e3406c7c84cbf76a2ac0ffc580c365f13801575486b9d558c"}, 1123 | {file = "pyproj-3.4.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:321b82210dc5271558573d0874b9967c5a25872a28d0168049ddabe8bfecffce"}, 1124 | {file = "pyproj-3.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25a5425cd2a0b16f5f944d49165196eebaa60b898a08c404a644c29e6a7a04b3"}, 1125 | {file = "pyproj-3.4.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3d70ca5933cddbe6f51396006fb9fc78bc2b1f9d28775922453c4b04625a7efb"}, 1126 | {file = "pyproj-3.4.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c240fe6bcb5c325b50fc967d5458d708412633f4f05fefc7fb14c14254ebf421"}, 1127 | {file = "pyproj-3.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef76abfee1a0676ef973470abe11e22998750f2bd944afaf76d44ad70b538c06"}, 1128 | {file = "pyproj-3.4.1.tar.gz", hash = "sha256:261eb29b1d55b1eb7f336127344d9b31284d950a9446d1e0d1c2411f7dd8e3ac"}, 1129 | ] 1130 | pystac = [ 1131 | {file = "pystac-1.6.1-py3-none-any.whl", hash = "sha256:4c40e6d3a832b9992e9dc2aa9c276322fbd851e441888b5fc2024397477abec8"}, 1132 | {file = "pystac-1.6.1.tar.gz", hash = "sha256:95ef493d6a6df4d982385c1d376c8aa0d967730e8ffeeda0f78cd7372faf066a"}, 1133 | ] 1134 | pytest = [ 1135 | {file = "pytest-7.2.1-py3-none-any.whl", hash = "sha256:c7c6ca206e93355074ae32f7403e8ea12163b1163c976fee7d4d84027c162be5"}, 1136 | {file = "pytest-7.2.1.tar.gz", hash = "sha256:d45e0952f3727241918b8fd0f376f5ff6b301cc0777c6f9a556935c92d8a7d42"}, 1137 | ] 1138 | python-dateutil = [ 1139 | {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, 1140 | {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, 1141 | ] 1142 | quantized-mesh-encoder = [ 1143 | {file = "quantized-mesh-encoder-0.4.3.tar.gz", hash = "sha256:00be53849a3bae3e23d2e1bd6e6fe138b751e077f05ff3bea2f00d982ad82a9a"}, 1144 | {file = "quantized_mesh_encoder-0.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b5ae1f86d2a5e5a081cb224bc7691521fae2c741b213567f5cdcb55c444272f"}, 1145 | {file = "quantized_mesh_encoder-0.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0398233458e28c875d8bda81aab9514a51b475d45f7648485fa4c87315aa7c70"}, 1146 | {file = "quantized_mesh_encoder-0.4.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ddb6f46201678bb17939deaa8467bd6a63fba86225ec713a3e28e83e0653709"}, 1147 | {file = "quantized_mesh_encoder-0.4.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aad1941ed331c1966dc176e6e86231c12f32364979a6ed987af77d54fe82ba0f"}, 1148 | {file = "quantized_mesh_encoder-0.4.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a8b98cb563fb1f2ad2d97308adb7c9459a74132a8203704da4c20f7f65d58ecb"}, 1149 | {file = "quantized_mesh_encoder-0.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:d2fcd74733cbe344d7e8c366f0574c8883ba6193df7bad56faf3a7e84d627f2d"}, 1150 | {file = "quantized_mesh_encoder-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f61520358df7fca36e18ccdb6f1909fb8ce023fcb4194d378402ea63ab09cb3b"}, 1151 | {file = "quantized_mesh_encoder-0.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:777f71b88d2f41ae942024ae733439ac82940594d3bdea8dd368bd621eae6f7a"}, 1152 | {file = "quantized_mesh_encoder-0.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce024e4dd2eb1add11927523a3a95f21a14e2b199ee0c431e38f30195062a567"}, 1153 | {file = "quantized_mesh_encoder-0.4.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b4064f7167889278056d0607241055ff790d0d7daec966f8413a913546e0d9aa"}, 1154 | {file = "quantized_mesh_encoder-0.4.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:78fc11247c984a67d9a96ecefd5e5423d59dcdf04129b10ca92023a705a07ab7"}, 1155 | {file = "quantized_mesh_encoder-0.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31368f0d47567225e454422fbc318b56abf83cfb0da7214c9e9c02054f47d035"}, 1156 | {file = "quantized_mesh_encoder-0.4.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3b30bf46c1276a6d0233b3b1c7b38dcbb021a5a0b2247a3fca936f93de8f234d"}, 1157 | {file = "quantized_mesh_encoder-0.4.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd7768042cff6fdd499e0c5a04aadcb7a03a7fc947d2880ddfa5a8ebee8aefa9"}, 1158 | {file = "quantized_mesh_encoder-0.4.3-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:2f36f6c8f845c9bc19d9901c5d78b2ac89ea49341993e98787cdf992e26f3014"}, 1159 | {file = "quantized_mesh_encoder-0.4.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ada2de645dfb51474ce37869bbe0dbe02a7db89a0119bf2135db338508f134be"}, 1160 | {file = "quantized_mesh_encoder-0.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:13fd69e3d9a1eb45a51056dc95da61207bea8919ff147036b39efd8d1be6f605"}, 1161 | {file = "quantized_mesh_encoder-0.4.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cd4838330996890baf201fd04792d31ccbd228587ec7b107ff2378c35cde729a"}, 1162 | {file = "quantized_mesh_encoder-0.4.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04d0aa77f450265b36ff09f3014f47025b1b77acc6bd4674c69dee358663d7e3"}, 1163 | {file = "quantized_mesh_encoder-0.4.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c204777ec0e95286162bb13af10e02f7fb3925aa5765b73ff5558a8decabe37c"}, 1164 | {file = "quantized_mesh_encoder-0.4.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7b772ac3ad33c616994c1db2c7665f4d6109f9c35ee12c4e937260f6789d01d5"}, 1165 | {file = "quantized_mesh_encoder-0.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:a93f10675ae206fbc19889574d9ca9048086807166766c4df878f1587e7f12ec"}, 1166 | {file = "quantized_mesh_encoder-0.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fa9d59d51cfb52897e9ec7ff5208f3b60fcc839c28b9cd60834509a856a222e8"}, 1167 | {file = "quantized_mesh_encoder-0.4.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f09a399cf73734407eaa8d995d6b963f95358394b482aa8255430c0fd21caa8e"}, 1168 | {file = "quantized_mesh_encoder-0.4.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:759c6491a74bfe2fecacc89da3b5b538c7035f032c57291ec34a5e7903a46170"}, 1169 | {file = "quantized_mesh_encoder-0.4.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:14d345cd10fff6ad648951536d0505ce578f6c8dac18d24edadb51c370164e4e"}, 1170 | {file = "quantized_mesh_encoder-0.4.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ac0f728c323b29bb15f9d5e6599bfef249c4464766e8cb1c349927d377b98aa9"}, 1171 | {file = "quantized_mesh_encoder-0.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:fb62db3ec725188b48da7056cd82a1f60be1d3905e2765d2f6c90395839d8d02"}, 1172 | {file = "quantized_mesh_encoder-0.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:407298d3e17d4aaa85223ed309f969dd94aeb76d13cc17565f2c3ff792a38f77"}, 1173 | {file = "quantized_mesh_encoder-0.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:baa6951cdd097f622ca330f8683431845a6e67a2a5665c027ba618b093e363bc"}, 1174 | {file = "quantized_mesh_encoder-0.4.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5e0f2dca2259ee4d75325a82c83fa65bc066f0f5ea56afb3f561bed9171c39b"}, 1175 | {file = "quantized_mesh_encoder-0.4.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:111a59b23e0ce92582d97c6ce0c0a7187decc10353ad2ee5d10ee97785963d1e"}, 1176 | {file = "quantized_mesh_encoder-0.4.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:eed667cf4a263d5d9ee1e7bc92a8c16a141c49a5c2238002899b71933dde760d"}, 1177 | {file = "quantized_mesh_encoder-0.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:055741bf941068949778a59f573e201b3abb22e8355a93adfa43a01b4b3281a9"}, 1178 | ] 1179 | rasterio = [ 1180 | {file = "rasterio-1.3.6-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:23a8d10ba17301029962a5667915381a8b4711ed80b712eb71cf68834cb5f946"}, 1181 | {file = "rasterio-1.3.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76b6bd4b566cd733f0ddd05ba88bea3f96705ff74e2e5fab73ead2a26cbc5979"}, 1182 | {file = "rasterio-1.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50785004d7adf66cf96c9c3498cf530ec91292e9349e66e8d1f1183085ee93b1"}, 1183 | {file = "rasterio-1.3.6-cp310-cp310-win_amd64.whl", hash = "sha256:9f3f901097c3f306f1143d6fdc503440596c66a2c39054e25604bdf3f4eaaff3"}, 1184 | {file = "rasterio-1.3.6-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:a732f8d314b7d9cb532b1969e968d08bf208886f04309662a5d16884af39bb4a"}, 1185 | {file = "rasterio-1.3.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d03e2fcd8f3aafb0ea1fa27a021fecc385655630a46c70d6ba693675c6cc3830"}, 1186 | {file = "rasterio-1.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69fdc712e9c79e82d00d783d23034bb16ca8faa18856e83e297bb7e4d7e3e277"}, 1187 | {file = "rasterio-1.3.6-cp311-cp311-win_amd64.whl", hash = "sha256:83f764c2b30e3d07bea5626392f1ce5481e61d5583256ab66f3a610a2f40dec7"}, 1188 | {file = "rasterio-1.3.6-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:1321372c653a36928b4e5e11cbe7f851903fb76608b8e48a860168b248d5f8e6"}, 1189 | {file = "rasterio-1.3.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8a584fedd92953a0580e8de3f41ce9f33a3205ba79ea58fff8f90ba5d14a0c04"}, 1190 | {file = "rasterio-1.3.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92f0f92254fcce57d25d5f60ef2cf649297f8a1e1fa279b32795bde20f11ff41"}, 1191 | {file = "rasterio-1.3.6-cp38-cp38-win_amd64.whl", hash = "sha256:e73339e8fb9b9091a4a0ffd9f84725b2d1f118cf51c35fb0d03b94e82e1736a3"}, 1192 | {file = "rasterio-1.3.6-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:eaaeb2e661d1ffc07a7ae4fd997bb326d3561f641178126102842d608a010cc3"}, 1193 | {file = "rasterio-1.3.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0883a38bd32e6a3d8d85bac67e3b75a2f04f7de265803585516883223ddbb8d1"}, 1194 | {file = "rasterio-1.3.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b72fc032ddca55d73de87ef3872530b7384989378a1bc66d77c69cedafe7feaf"}, 1195 | {file = "rasterio-1.3.6-cp39-cp39-win_amd64.whl", hash = "sha256:cb3288add5d55248f5d48815f9d509819ba8985cd0302d2e8dd743f83c5ec96d"}, 1196 | {file = "rasterio-1.3.6.tar.gz", hash = "sha256:c8b90eb10e16102d1ab0334a7436185f295de1c07f0d197e206d1c005fc33905"}, 1197 | ] 1198 | rfc3986 = [ 1199 | {file = "rfc3986-1.5.0-py2.py3-none-any.whl", hash = "sha256:a86d6e1f5b1dc238b218b012df0aa79409667bb209e58da56d0b94704e712a97"}, 1200 | {file = "rfc3986-1.5.0.tar.gz", hash = "sha256:270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835"}, 1201 | ] 1202 | rio-tiler = [ 1203 | {file = "rio_tiler-4.1.8-py3-none-any.whl", hash = "sha256:50cfda8ed59d397b295955eb33674e2e0eb330a16621ee518c6d34899b7f558c"}, 1204 | {file = "rio_tiler-4.1.8.tar.gz", hash = "sha256:4c7b53959b4fb598715b4de9ad8146d845b5119d8b4749d7b483f7517c544e2c"}, 1205 | ] 1206 | s3transfer = [ 1207 | {file = "s3transfer-0.6.0-py3-none-any.whl", hash = "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd"}, 1208 | {file = "s3transfer-0.6.0.tar.gz", hash = "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947"}, 1209 | ] 1210 | setuptools = [ 1211 | {file = "setuptools-67.3.2-py3-none-any.whl", hash = "sha256:bb6d8e508de562768f2027902929f8523932fcd1fb784e6d573d2cafac995a48"}, 1212 | {file = "setuptools-67.3.2.tar.gz", hash = "sha256:95f00380ef2ffa41d9bba85d95b27689d923c93dfbafed4aecd7cf988a25e012"}, 1213 | ] 1214 | simplejson = [ 1215 | {file = "simplejson-3.18.3-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:50f4b6d52f3a2d1cffd11834a1fe7f9516f0e3f20cbe78027aa88ff990fad7d6"}, 1216 | {file = "simplejson-3.18.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:169c2c7446ef33439c304a6aa5b7b5a2dbc938c9c2dd882dd3f2553f9518ebf6"}, 1217 | {file = "simplejson-3.18.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:56f186d44a9f625b5e5d9ba4b9551e263604000a7df60cb373b3e789ca603b2a"}, 1218 | {file = "simplejson-3.18.3-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:cf7168b2046db0eceb83d8ed2ee31c0847ce18b2d8baf3e93de9560f3921a8c3"}, 1219 | {file = "simplejson-3.18.3-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:55df3dfd8777bf134e1078d2f195352432a77f23ccb90b92b08218123d56adc9"}, 1220 | {file = "simplejson-3.18.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:6b997739fdbc9b7030ff490fc8e5f8c144b8ec80f3605eff643983672bb8cfde"}, 1221 | {file = "simplejson-3.18.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:c98fddc374468158778a8afb3fd7296412a2b2fc34cebba64212ac3e018e7382"}, 1222 | {file = "simplejson-3.18.3-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:55aa983575b0aef143845f5bfbb35075475eccaebf7d4b30f4037a2fe8414666"}, 1223 | {file = "simplejson-3.18.3-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1b79e2607ac5ba98381c2e068727acc1e4dd385a6d216914c0613f8f568a06a5"}, 1224 | {file = "simplejson-3.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b0352428b35da859a98770949e7353866ae65463026f1c8e4c89a6395d4b5fd7"}, 1225 | {file = "simplejson-3.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eb81cfef0c0039010f0212f4e5eb6909641b8a54c761584054ac97fd7bd0c21a"}, 1226 | {file = "simplejson-3.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e762e9d8556fa9f3a99f8a278eeba50a35b5f554b82deeb282ddbdd85816e638"}, 1227 | {file = "simplejson-3.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc8df5831b645e96a318ea51a66ce6e2bb869eebc3fa9a860bbf67aecd270055"}, 1228 | {file = "simplejson-3.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b35fb90083218e59df5dba733c7086655f2938f3fcabe36ad849623941d660"}, 1229 | {file = "simplejson-3.18.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f89f078114cacedb9a3392615cc099cf02a51efa7507f90e2006bf7ec38c880d"}, 1230 | {file = "simplejson-3.18.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a2960b95f3ba822d077d1afa7e1fea9799cfb2990028cf010e666f64195ecb5a"}, 1231 | {file = "simplejson-3.18.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:96ade36640734b54176c4765d00a60767bd7fae5b7a5b3574accc055ac18e34c"}, 1232 | {file = "simplejson-3.18.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6c4c56c5abb82e22877b913186e5c0fd7d9eef0c930719e28fa451d3f11defb4"}, 1233 | {file = "simplejson-3.18.3-cp310-cp310-win32.whl", hash = "sha256:8209c40279ed9b2cd5fbe2d617a29a074e90ea97fce7c07a0128a01cb3e8afc5"}, 1234 | {file = "simplejson-3.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:6a49665169c18f27a0fc10935466332ee7406ee14ced8dc0a1b4d465547299aa"}, 1235 | {file = "simplejson-3.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:508342d7227ed66beecfbba7a38b46e1a713faeb034216f43f03ec5c175e0622"}, 1236 | {file = "simplejson-3.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:070ab073ce72f1624107dfd6d095c87ac32aafe7ba54a5c5055a3dd83cb06e51"}, 1237 | {file = "simplejson-3.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:88f59a07873dc1f06fd9e6712dd71286f1b297a066ad2fd9110ad080d3cb011c"}, 1238 | {file = "simplejson-3.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5780e3929435a8d39671537174f8ce0ccafb4f6e0c748ffe139916ffbdca39d3"}, 1239 | {file = "simplejson-3.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2be75f4cb9951efeb2616e16f944ee4f9a09768475a3f5c40a6ac4dc5ee68dfd"}, 1240 | {file = "simplejson-3.18.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e49c84df6e71e3c23169d3df481565dd607cbee4aa1e0af15c493cccad7c745"}, 1241 | {file = "simplejson-3.18.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ab5bdf0b8d07f7fd603b2d0c1982412cd9f8ade997088ddced251f7e656c7fd4"}, 1242 | {file = "simplejson-3.18.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:141782a0a25c1792627575b37b4951583358ccc7137623aa45947f8425ee8d96"}, 1243 | {file = "simplejson-3.18.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:24823364fee93bab141621b3a2e10612e31be7ca58788bf9b2cd2b1ce37ab07d"}, 1244 | {file = "simplejson-3.18.3-cp311-cp311-win32.whl", hash = "sha256:f73bae5e315adf7bc8cb7f0a13a1e9e33bead42e8ce174be83ac9ecc2513c86a"}, 1245 | {file = "simplejson-3.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:063db62a9251e61ea0c17e49c3e7bed465bfcc5359655abcb8c0bc6130a4e0d4"}, 1246 | {file = "simplejson-3.18.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3bab9ea49ff477c926c5787f79ec47cf51c7ffb15c9d8dd0f09e728807d44f4b"}, 1247 | {file = "simplejson-3.18.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cf299fbb7d476676dfea372a3262654af98694bd1df35b060ce0fe1b68087f1"}, 1248 | {file = "simplejson-3.18.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62628ea5df8c830d00a7417d5ecd949a1b24a8d0a5063a2a77f7ec7522110a0f"}, 1249 | {file = "simplejson-3.18.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ff65b475091084e5bdb7f26e9c555956be7355b573ce494fa96f9f8e34541ac"}, 1250 | {file = "simplejson-3.18.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2b0f6de11f5ce4b80f51bc49d08b898602e190547f8efe4e44af8ae3cda7779d"}, 1251 | {file = "simplejson-3.18.3-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d990ea42ba908cb57a3df97d283aa26c1822f10a0a60e250b54ee21cd08c48d0"}, 1252 | {file = "simplejson-3.18.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:2c7ee643ee93684bf76196e2d84a2090c6df8f01737a016e869b579593827b6e"}, 1253 | {file = "simplejson-3.18.3-cp36-cp36m-win32.whl", hash = "sha256:0e7c3fae6c9540064e06a653780b4f263675cd69ca6841345029fee3e27e9bb5"}, 1254 | {file = "simplejson-3.18.3-cp36-cp36m-win_amd64.whl", hash = "sha256:0baf8c60efef74944ed4adb034d14bcf737731576f0e4c3c56fb875ea256af69"}, 1255 | {file = "simplejson-3.18.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:52465a5578cfc2c5e374a574df14dfb75e04c6cb6a100b7abc8bf6c89bea8f5e"}, 1256 | {file = "simplejson-3.18.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fe1173b4146641c872bafa6f9a21f3a2012f502d54fbb523a76e6320024fae9"}, 1257 | {file = "simplejson-3.18.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23fce984045804194f513a2739dcd82be350198470d5ade5058da019a48cf3f8"}, 1258 | {file = "simplejson-3.18.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aad323e92cb1bd3b1db6f57c007dca964d13c52247ad844203ce381e94066601"}, 1259 | {file = "simplejson-3.18.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7c26fe63755ecc59c502ddde8e58ce8b765bf4fdd3f5858d2b7c8ab28bc2a9c8"}, 1260 | {file = "simplejson-3.18.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:502d86fbfe914263642479b87ed61af3b27b9e039df77acd2416cfccfc892e68"}, 1261 | {file = "simplejson-3.18.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:44d6c52d4f5c0c087a6e88a92bf9f94234321d21be32c6471ba39856e304bbe3"}, 1262 | {file = "simplejson-3.18.3-cp37-cp37m-win32.whl", hash = "sha256:2a1b3222bc8f6ac91b5ebe3263111c7dc4dc4b01c52f0153f5bb1f3ef3bf0023"}, 1263 | {file = "simplejson-3.18.3-cp37-cp37m-win_amd64.whl", hash = "sha256:1907d49d70c75530976119c13785db91168d2599288debaca7d25da9cd2f3747"}, 1264 | {file = "simplejson-3.18.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:04a4b9a297cccbc9e1d66fe652fbffd55b36d6579c43132e821d315957302194"}, 1265 | {file = "simplejson-3.18.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:16cc750d19852fa5ebafd55da86fa357f87991e07b4e2afb37a5975dfdde0153"}, 1266 | {file = "simplejson-3.18.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:290bbcdcbb37af3f7e43378f592ab7a9168fca640da6af63d42cdb535f96bbf2"}, 1267 | {file = "simplejson-3.18.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:694332fd6fd10fe8868c2508583220d1a1a7be9ff049dab5bd6b9aedfb9edc50"}, 1268 | {file = "simplejson-3.18.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f72d2b539512f382a48cc9ad6cea2d3a572e71e92c40e03d2140041eeaa233"}, 1269 | {file = "simplejson-3.18.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcd9eac304a133ee4af58e68c5ded4c5ba663d3ee4602e8613359b776a1f8c8f"}, 1270 | {file = "simplejson-3.18.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cde5a3ff5e0bd5d6da676314dfae86c9e99bff77bca03d30223c9718a58f9e83"}, 1271 | {file = "simplejson-3.18.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:099bbd3b5b4ea83159a980348cd481a34984dee5fe1b9fac31a9137158f46960"}, 1272 | {file = "simplejson-3.18.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4de9fed1166aeedee44150fa83bc059aca6b612940281f8b5a39374781f16196"}, 1273 | {file = "simplejson-3.18.3-cp38-cp38-win32.whl", hash = "sha256:59a629240cfbc5b4f390a8578dca74ae77ab617de971862acb946822d2eb1b11"}, 1274 | {file = "simplejson-3.18.3-cp38-cp38-win_amd64.whl", hash = "sha256:5b009342e712026ffabe8a471d5b4a4ff2a038687387e74eae601574c04dae33"}, 1275 | {file = "simplejson-3.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6bd81d10cb3384f64242316da8a2b2f88618776bc1ef38bcc79f1afe8ad36616"}, 1276 | {file = "simplejson-3.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c3b696770b504f881f271f97b94a687487ec1ef20bfbd5f20d92bbab7a85952d"}, 1277 | {file = "simplejson-3.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:75eb555dc349d0cbe2c95ea2be665b306c6ac6d5b64e3a3920af9b805ecdb5f7"}, 1278 | {file = "simplejson-3.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d774782159347d66563cd7ac18b9dd37010438a825160cde4818caa18110a746"}, 1279 | {file = "simplejson-3.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2c4e8b65987f3c6529149495d28e23efe213e94dc3659176c4ab22d18a9ee4a"}, 1280 | {file = "simplejson-3.18.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8a4750e8db92109e6f1f7783a7faae4254d6d5dc28a41ff7eff7d2265f0586b"}, 1281 | {file = "simplejson-3.18.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4b8d4d958c5ab3489d1174917a7fad82da642560c39ce559a624e63deaaa36b1"}, 1282 | {file = "simplejson-3.18.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:efa70fd9b6c7b57b048ecadb909683acd535cddebc5b22f3c05ba3b369739caf"}, 1283 | {file = "simplejson-3.18.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7e73d9d6af3c29b60a92e28b3144d951110f59a3d05fc402c3f6c5248b883400"}, 1284 | {file = "simplejson-3.18.3-cp39-cp39-win32.whl", hash = "sha256:a80bd9a3db88a76a401155c64e3499376c702307c2206cb381cc2a8dd9cc4f1f"}, 1285 | {file = "simplejson-3.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:c4514675f6571da8190fea52a110bca686fa844972e8b2b3bc07ace9e632ee4f"}, 1286 | {file = "simplejson-3.18.3-py3-none-any.whl", hash = "sha256:37bdef13412c0bc338db2993a38f3911d5bd2a0ba8d00b3bc66d1063edd7c33e"}, 1287 | {file = "simplejson-3.18.3.tar.gz", hash = "sha256:ebb53837c5ffcb6100646018565d3f1afed6f4b185b14b2c9cbccf874fe40157"}, 1288 | ] 1289 | six = [ 1290 | {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, 1291 | {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, 1292 | ] 1293 | sniffio = [ 1294 | {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, 1295 | {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, 1296 | ] 1297 | snuggs = [ 1298 | {file = "snuggs-1.4.7-py3-none-any.whl", hash = "sha256:988dde5d4db88e9d71c99457404773dabcc7a1c45971bfbe81900999942d9f07"}, 1299 | {file = "snuggs-1.4.7.tar.gz", hash = "sha256:501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b"}, 1300 | ] 1301 | starlette = [ 1302 | {file = "starlette-0.25.0-py3-none-any.whl", hash = "sha256:774f1df1983fd594b9b6fb3ded39c2aa1979d10ac45caac0f4255cbe2acb8628"}, 1303 | {file = "starlette-0.25.0.tar.gz", hash = "sha256:854c71e73736c429c2bdb07801f2c76c9cba497e7c3cf4988fde5e95fe4cdb3c"}, 1304 | ] 1305 | titiler-core = [ 1306 | {file = "titiler.core-0.11.0.tar.gz", hash = "sha256:538bc8d12d2989a1ad307bb68464d6b904916031261fa5175d1d088d4a5e3aff"}, 1307 | ] 1308 | tomli = [ 1309 | {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, 1310 | {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, 1311 | ] 1312 | typing-extensions = [ 1313 | {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, 1314 | {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, 1315 | ] 1316 | urllib3 = [ 1317 | {file = "urllib3-1.26.14-py2.py3-none-any.whl", hash = "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1"}, 1318 | {file = "urllib3-1.26.14.tar.gz", hash = "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72"}, 1319 | ] 1320 | --------------------------------------------------------------------------------