From b4ec234ec2cc01b7beccc0a3a52827081bbb5a43 Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Fri, 15 Nov 2024 16:46:02 -0800 Subject: [PATCH 01/11] Add ability to open ee.Image objects --- xee/ext.py | 11 ++++++----- xee/ext_integration_test.py | 8 ++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/xee/ext.py b/xee/ext.py index 2bcd523..763fe84 100644 --- a/xee/ext.py +++ b/xee/ext.py @@ -1122,11 +1122,12 @@ def open_dataset( if ee.data.getUserAgent() != user_agent: ee.data.setUserAgent(user_agent) - collection = ( - filename_or_obj - if isinstance(filename_or_obj, ee.ImageCollection) - else ee.ImageCollection(self._parse(filename_or_obj)) - ) + if isinstance(filename_or_obj, ee.ImageCollection): + collection = filename_or_obj + elif isinstance(filename_or_obj, ee.Image): + collection = ee.ImageCollection(filename_or_obj) + else: + collection = ee.ImageCollection(self._parse(filename_or_obj)) store = EarthEngineStore.open( collection, diff --git a/xee/ext_integration_test.py b/xee/ext_integration_test.py index 929ad3c..a62a79b 100644 --- a/xee/ext_integration_test.py +++ b/xee/ext_integration_test.py @@ -382,6 +382,14 @@ def test_open_dataset__n_images(self): self.assertLen(ds.time, 1) + def test_open_dataset_image_to_imagecollection(self): + """Ensure that opening a ee.Image is the same as opening a single image ee.ImageCollection""" + img = ee.Image('CGIAR/SRTM90_V4') + ic = ee.ImageCollection(img) + ds1 = xr.open_dataset(img, engine='ee') + ds2 = xr.open_dataset(ic, engine='ee') + self.assertTrue(ds1.identical(ds2)) + def test_can_chunk__opened_dataset(self): ds = xr.open_dataset( 'NASA/GPM_L3/IMERG_V07', From afaa9c53eb4ac8f25f0ac05f5de194c5cd3a7ea1 Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Mon, 18 Nov 2024 10:47:16 -0800 Subject: [PATCH 02/11] End docstring with punctuation --- xee/ext_integration_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xee/ext_integration_test.py b/xee/ext_integration_test.py index a62a79b..8ea37aa 100644 --- a/xee/ext_integration_test.py +++ b/xee/ext_integration_test.py @@ -383,7 +383,7 @@ def test_open_dataset__n_images(self): self.assertLen(ds.time, 1) def test_open_dataset_image_to_imagecollection(self): - """Ensure that opening a ee.Image is the same as opening a single image ee.ImageCollection""" + """Ensure that opening an ee.Image is the same as opening a single image ee.ImageCollection.""" img = ee.Image('CGIAR/SRTM90_V4') ic = ee.ImageCollection(img) ds1 = xr.open_dataset(img, engine='ee') From c2e2a9f94c3148d7dbeb1adf8c095269e1a92495 Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Thu, 2 Jan 2025 12:25:36 -0800 Subject: [PATCH 03/11] Expose __version__ as module attribute --- xee/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/xee/__init__.py b/xee/__init__.py index 83f21cd..f2e8c34 100644 --- a/xee/__init__.py +++ b/xee/__init__.py @@ -14,3 +14,4 @@ # ============================================================================== """A Google Earth Engine extension for Xarray.""" from .ext import * +from .ext import __version__ From fd9e20a4dc01496d4c293af0a32b913aa6513ba6 Mon Sep 17 00:00:00 2001 From: Justin Braaten Date: Tue, 7 Jan 2025 07:34:12 -0800 Subject: [PATCH 04/11] Add install docs PiperOrigin-RevId: 712905652 --- README.md | 7 ++- docs/index.md | 1 + docs/installation.md | 115 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 docs/installation.md diff --git a/README.md b/README.md index 200ae57..d61baba 100644 --- a/README.md +++ b/README.md @@ -37,10 +37,13 @@ import ee import xarray ``` -Next, initialize the EE client with the high volume API: +Next, specify your EE-registered cloud project ID and initialize the EE client +with the high volume API: ```python -ee.Initialize(opt_url='https://earthengine-highvolume.googleapis.com') +ee.Initialize( + project='my-project-id' + opt_url='https://earthengine-highvolume.googleapis.com') ``` Open any Earth Engine ImageCollection by specifying the Xarray engine as `'ee'`: diff --git a/docs/index.md b/docs/index.md index 548ef8c..e5a5d42 100644 --- a/docs/index.md +++ b/docs/index.md @@ -30,5 +30,6 @@ between these tools. ```{toctree} :maxdepth: 1 why-xee.md +installation.md api.md ``` diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..a87aaf0 --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,115 @@ +# Installation + +Install Xee and its dependencies using `pip` or conda-like package managers. To +help minimize system disruption and package conflicts, it's recommended to use +virtual environments like Python's +[`venv`](https://docs.python.org/3/library/venv.html) with `pip` or [conda's +integrated environment management +system](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html). + +Install with `pip`: + +```shell +pip install --upgrade xee +``` + +Install with conda: + +```shell +conda install -c conda-forge xee +``` + +## Earth Engine setup + +Xee makes requests to [Google Earth +Engine](https://developers.google.com/earth-engine/guides) for data. To use +Earth Engine, you'll need to create and register a Google Cloud project, +authenticate with Google, and initialize the service. + +If you already have a Cloud project registered for Earth Engine and are familiar +with Earth Engine authentication and initialization, you can skip this section. + +**Note**: the authentication and initialization steps described in the following +sections cover the majority of common system configurations and access methods, +if you're having trouble, refer to the Earth Engine [Authentication and +Initialization guide](https://developers.google.com/earth-engine/guides/auth). + +### Create and register a Cloud project + +Follow instructions in the [Earth Engine Access +guide](https://developers.google.com/earth-engine/guides/access#get_access_to_earth_engine +) to create and register a Google Cloud project. + +### Authentication + +Google needs to know who is accessing Earth Engine to determine what services +are available and what permissions are granted. The goal of authentication is to +establish credentials that can be used during initialization. There are several +ways to verify your identity and create credentials, depending on your working +environment: + +#### Persistent environment + +If you're working from a system with a persistent environment, such as a local +computer or on-premises server, you can authenticate using the [Earth Engine +command line +utility](https://developers.google.com/earth-engine/guides/command_line#authenticate): + +```shell +earthengine authenticate +``` + +This command opens a browser window for authentication. Once authenticated, the +credentials are stored locally (`~/.config/earthengine/credentials`), allowing +them to be used in subsequent initialization to the Earth Engine service. This +is typically a one-time step. + +#### Temporary environment + +If you're working from a system like [Google Colab](https://colab.google/) that +provides a temporary environment recycled after use, you'll need to authenticate +every session. In this case, you can use the `earthengine-api` library +(installed with Xee) to authenticate interactively: + +```python +ee.Authenticate() +``` + +This method selects the most appropriate [authentication +mode](https://developers.google.com/earth-engine/guides/auth#authentication_details) +and guides you through steps to generate authentication credentials. Be sure to +rerun the authentication process each time the environment is reset. + +### Initialization + +Initialization checks user authentication credentials, sets the Cloud project to +use for requests, and connects the client to Earth Engine's services. At the +top of your script, include one of the following expressions with the `project` +argument modified to match the Google Cloud project ID enabled and registered +for Earth Engine use. + +#### High-volume endpoint + +If you are requesting stored data (supplying a collection ID or passing an +unmodified `ee.ImageCollection()` object to `xarray.open_dataset`), connect to +the [high-volume +endpoint](https://developers.google.com/earth-engine/guides/processing_environments#high-volume_endpoint). + +```python +ee.Initialize( + project='your-project-id', + opt_url='https://earthengine-highvolume.googleapis.com' +) +``` + +#### Standard endpoint + +If you are requesting computed data (applying expressions to the data), consider +connecting to the [standard +endpoint](https://developers.google.com/earth-engine/guides/processing_environments#standard_endpoint). +It utilizes caching, so it can be more efficient if you need to rerun or adjust +something about the request. + +```python + ee.Initialize(project='your-project-id') +``` From 5fac43a81a380c4d9552cac3fb6de83f8c3a8ec1 Mon Sep 17 00:00:00 2001 From: Justin Braaten Date: Tue, 7 Jan 2025 12:08:03 -0800 Subject: [PATCH 05/11] Account for mask byte in chunk size calculation PiperOrigin-RevId: 712996660 --- xee/ext.py | 30 ++++++++++++++++-------------- xee/ext_test.py | 44 +++++++++++++++++++++++++++++++------------- 2 files changed, 47 insertions(+), 27 deletions(-) diff --git a/xee/ext.py b/xee/ext.py index 763fe84..78663ab 100644 --- a/xee/ext.py +++ b/xee/ext.py @@ -67,10 +67,8 @@ 'double': np.float64, } -# While this documentation says that the limit is 10 MB... -# https://developers.google.com/earth-engine/guides/usage#request_payload_size -# actual byte limit seems to depend on other factors. This has been found via -# trial & error. +# Earth Engine image:computePixels request is limited to 48 MB +# https://developers.google.com/earth-engine/reference/rest/v1/projects.image/computePixels REQUEST_BYTE_LIMIT = 2**20 * 48 # 48 MBs # Xee uses the ee.ImageCollection.toList function for slicing into an @@ -80,10 +78,12 @@ _TO_LIST_WARNING_LIMIT = 10000 +# Used in ext_test.py. def _check_request_limit(chunks: Dict[str, int], dtype_size: int, limit: int): """Checks that the actual number of bytes exceeds the limit.""" index, width, height = chunks['index'], chunks['width'], chunks['height'] - actual_bytes = index * width * height * dtype_size + # Add one for the mask byte (Earth Engine bytes-per-pixel accounting). + actual_bytes = index * width * height * (dtype_size + 1) if actual_bytes > limit: raise ValueError( f'`chunks="auto"` failed! Actual bytes {actual_bytes!r} exceeds limit' @@ -105,7 +105,7 @@ class EarthEngineStore(common.AbstractDataStore): # "Safe" default chunks that won't exceed the request limit. PREFERRED_CHUNKS: Dict[str, int] = { 'index': 48, - 'width': 512, + 'width': 256, 'height': 256, } @@ -352,20 +352,22 @@ def _auto_chunks( # height and width follow round numbers (powers of two) and allocate the # remaining bytes available for the index length. To illustrate this logic, # let's follow through with an example where: - # request_byte_limit = 2 ** 20 * 10 # = 10 MBs + # request_byte_limit = 2 ** 20 * 48 # = 48 MBs # dtype_bytes = 8 - log_total = np.log2(request_byte_limit) # e.g.=23.32... - log_dtype = np.log2(dtype_bytes) # e.g.=3 + + log_total = np.log2(request_byte_limit) # e.g.=25.58... + # Add one for the mask byte (Earth Engine bytes-per-pixel accounting). + log_dtype = np.log2(dtype_bytes + 1) # e.g.=3.16... log_limit = 10 * (log_total // 10) # e.g.=20 - log_index = log_total - log_limit # e.g.=3.32... + log_index = log_total - log_limit # e.g.=5.58... # Motivation: How do we divide a number N into the closest sum of two ints? - d = (log_limit - np.ceil(log_dtype)) / 2 # e.g.=17/2=8.5 - wd, ht = np.ceil(d), np.floor(d) # e.g. wd=9, ht=8 + d = (log_limit - np.ceil(log_dtype)) / 2 # e.g.=16/2=8.0 + wd, ht = np.ceil(d), np.floor(d) # e.g. wd=8, ht=8 # Put back to byte space, then round to the nearst integer number of bytes. - index = int(np.rint(2**log_index)) # e.g.=10 - width = int(np.rint(2**wd)) # e.g.=512 + index = int(np.rint(2**log_index)) # e.g.=48 + width = int(np.rint(2**wd)) # e.g.=256 height = int(np.rint(2**ht)) # e.g.=256 return {'index': index, 'width': width, 'height': height} diff --git a/xee/ext_test.py b/xee/ext_test.py index ae732c8..6ebd852 100644 --- a/xee/ext_test.py +++ b/xee/ext_test.py @@ -13,32 +13,32 @@ class EEStoreStandardDatatypesTest(parameterized.TestCase): dict( testcase_name='int8', dtype=np.dtype('int8'), - expected_chunks={'index': 48, 'width': 1024, 'height': 1024}, + expected_chunks={'index': 48, 'width': 1024, 'height': 512}, ), dict( testcase_name='int32', dtype=np.dtype('int32'), - expected_chunks={'index': 48, 'width': 512, 'height': 512}, + expected_chunks={'index': 48, 'width': 512, 'height': 256}, ), dict( testcase_name='int64', dtype=np.dtype('int64'), - expected_chunks={'index': 48, 'width': 512, 'height': 256}, + expected_chunks={'index': 48, 'width': 256, 'height': 256}, ), dict( testcase_name='float32', dtype=np.dtype('float32'), - expected_chunks={'index': 48, 'width': 512, 'height': 512}, + expected_chunks={'index': 48, 'width': 512, 'height': 256}, ), dict( testcase_name='float64', dtype=np.dtype('float64'), - expected_chunks={'index': 48, 'width': 512, 'height': 256}, + expected_chunks={'index': 48, 'width': 256, 'height': 256}, ), dict( testcase_name='complex64', dtype=np.dtype('complex64'), - expected_chunks={'index': 48, 'width': 512, 'height': 256}, + expected_chunks={'index': 48, 'width': 256, 'height': 256}, ), ) def test_auto_chunks__handles_standard_dtypes(self, dtype, expected_chunks): @@ -49,7 +49,7 @@ def test_auto_chunks__handles_standard_dtypes(self, dtype, expected_chunks): ) -class EEStoreTest(absltest.TestCase): +class EEStoreTest(parameterized.TestCase): def test_auto_chunks__handles_range_of_dtype_sizes(self): dt = 0 @@ -59,18 +59,36 @@ def test_auto_chunks__handles_range_of_dtype_sizes(self): except ValueError: self.fail(f'Could not handle data type size {dt}.') - def test_auto_chunks__is_optimal_for_powers_of_two(self): - for p in range(10): - dt = 2**p - chunks = xee.EarthEngineStore._auto_chunks(dt) + def test_auto_chunks__matches_observed_values(self): + observed_results = { + 1: 50331648, + 2: 37748736, + 4: 31457280, + 8: 28311552, + 16: 26738688, + 32: 25952256, + 64: 25559040, + 128: 25362432, + 256: 25264128, + 512: 25214976, + } + + for dtype_bytes, expected_bytes in observed_results.items(): + chunks = xee.EarthEngineStore._auto_chunks(dtype_bytes) + actual_bytes = np.prod(list(chunks.values())) * ( + dtype_bytes + 1 + ) # added +1 to account for the mask byte self.assertEqual( - xee.REQUEST_BYTE_LIMIT, np.prod(list(chunks.values())) * dt + expected_bytes, + actual_bytes, + f'dtype_bytes: {dtype_bytes}, Expected: {expected_bytes}, ' + f'Actual: {actual_bytes}, Chunks: {chunks}', ) def test_exceeding_byte_limit__raises_error(self): dtype_size = 8 # does not fail - chunks = {'index': 48, 'width': 512, 'height': 256} + chunks = {'index': 48, 'width': 256, 'height': 256} ext._check_request_limit(chunks, dtype_size, xee.REQUEST_BYTE_LIMIT) # fails From 3c3481675d698e632d1f4566a1834daad324b7ee Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Mon, 3 Feb 2025 10:02:22 -0800 Subject: [PATCH 06/11] ignore temp directory --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 83c6ce6..1ab7591 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,6 @@ cython_debug/ # pixi environments .pixi + +# temporary work files +temp/ \ No newline at end of file From c107bcae5ce561d1e190ac1261bf139c4a0968f0 Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Mon, 3 Feb 2025 10:59:09 -0800 Subject: [PATCH 07/11] Add pixi config files --- .gitattributes | 2 + .gitignore | 1 + pixi.lock | 2377 ++++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 18 + 4 files changed, 2398 insertions(+) create mode 100644 pixi.lock diff --git a/.gitattributes b/.gitattributes index 07fe41c..1d6999e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,4 @@ # GitHub syntax highlighting pixi.lock linguist-language=YAML linguist-generated=true +# SCM syntax highlighting +pixi.lock linguist-language=YAML linguist-generated=true diff --git a/.gitignore b/.gitignore index 1ab7591..5e0110f 100644 --- a/.gitignore +++ b/.gitignore @@ -131,6 +131,7 @@ cython_debug/ # pixi environments .pixi +*.egg-info # temporary work files temp/ \ No newline at end of file diff --git a/pixi.lock b/pixi.lock new file mode 100644 index 0000000..7f7b146 --- /dev/null +++ b/pixi.lock @@ -0,0 +1,2377 @@ +version: 5 +environments: + dataflow: + channels: + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4c/c6/2ea8c333f6c26cc48eb35e7bc369124ece9591bb8ef236cf72cb568da4f7/aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/07/06f8eff85d93194ce4fe4281d7ba970fe46944463cd977f26fdf4b63017a/apache-beam-2.17.0.zip + - pypi: https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cc/97/7a6970380ca8db9139a3cc0b0e3e0dd3e4bc584fb3644e1d06e71e1a55f0/avro-python3-1.10.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b/crcmod-1.7.tar.gz + - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/39/7a/70803635c850e351257029089d38748516a280864c97cbc73087afef6d51/dill-0.3.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/85/7b/15d6af265fc01bf7ab93e7dc823b3f8dd8a6c56420999207446b7d2de997/fastavro-0.21.24.tar.gz + - pypi: https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec/future-0.18.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/5b/18/f40a808abb7ce9aaf8a2143b699dd0b246e61ea590ce55810ceae45610ed/gcsfs-2024.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/32/df3e36fd705a00092f1ffa9f41ce1df8dcb594ae313d239b87861a41fc2e/google-apitools-0.5.28.tar.gz + - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/74/8a2664dc7b5494ebef67f876467d7a2336810affcd0b9f7cf325631314ac/google_auth_oauthlib-0.5.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d7/72/e88edd9a0b3c16a7b2c4107b1a9d3ff182b84a29f051ae15293e1375d7fe/google_cloud_bigquery-1.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/95/af/0ef7d097a1d5ad0c843867600e86de915e8ab8864740f49a4636cfb51af6/google_cloud_bigtable-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d0/aa/29cbcf8cf7d08ce2d55b9dce858f7c632b434cb6451bed17cb4275804217/google_cloud_datastore-1.7.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/91/07a82945a7396ea34debafd476724bb5fc267c292790fdf2138c693f95c5/google_cloud_pubsub-1.0.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/4b/404f59d065a410e835576433bc296599ae093460c7724fa5d5ca2354a885/grpc_google_iam_v1-0.12.7-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl + - pypi: https://files.pythonhosted.org/packages/14/32/754cd4474790239c7436a7a9490bc0c4a0a2ed604cb9a940151a3b1055b9/grpcio_status-1.48.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/29/c7/1be559eb10cb7cac0d26373f18656c8037553619ddd4098e50b04ea8b4ab/hdfs-2.7.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/c0/7b/bc893e35d6ca46a72faa4b9eaac25c687ce60e1fbe978993fe2de1b0ff0d/oauth2client-3.0.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/e6/d14b4a2b54ef065b1a2c576537abe805c1af0c94caef70d365e2d78fc528/pyarrow-0.15.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ea/76/75b1bb82e9bad3e3d656556eaa353d8cd17c4254393b08ec9786ac8ed273/pydot-1.4.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/ff/9b08f29b57384e1f55080d15a12ba4908d93d46cd7fe83c5c562fdcd3400/pymongo-3.13.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/34/83/a485250bc09db55e4b4389d99e583fac871ceeaaa4620b67a31d8db95ef5/rechunker-0.5.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/72/f4/797f3e15cd1136d3f530baec0e06a0c700339b55b96e9420b28324c60c73/xarray_beam-0.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e3/a2/b65447626227ebe36f18f63ac551790068bf42c69bb22dfa3ae986170728/yarl-1.17.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b4/d1/c84022a44afc7b7ccc442fba3daee56bdd03593d91ee4bc245a08e4fcc55/zarr-2.18.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + - pypi: . + default: + channels: + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + - pypi: . + examples: + channels: + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4c/c6/2ea8c333f6c26cc48eb35e7bc369124ece9591bb8ef236cf72cb568da4f7/aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/07/06f8eff85d93194ce4fe4281d7ba970fe46944463cd977f26fdf4b63017a/apache-beam-2.17.0.zip + - pypi: https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cc/97/7a6970380ca8db9139a3cc0b0e3e0dd3e4bc584fb3644e1d06e71e1a55f0/avro-python3-1.10.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b/crcmod-1.7.tar.gz + - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/39/7a/70803635c850e351257029089d38748516a280864c97cbc73087afef6d51/dill-0.3.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/85/7b/15d6af265fc01bf7ab93e7dc823b3f8dd8a6c56420999207446b7d2de997/fastavro-0.21.24.tar.gz + - pypi: https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec/future-0.18.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/5b/18/f40a808abb7ce9aaf8a2143b699dd0b246e61ea590ce55810ceae45610ed/gcsfs-2024.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/32/df3e36fd705a00092f1ffa9f41ce1df8dcb594ae313d239b87861a41fc2e/google-apitools-0.5.28.tar.gz + - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/04/74/8a2664dc7b5494ebef67f876467d7a2336810affcd0b9f7cf325631314ac/google_auth_oauthlib-0.5.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d7/72/e88edd9a0b3c16a7b2c4107b1a9d3ff182b84a29f051ae15293e1375d7fe/google_cloud_bigquery-1.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/95/af/0ef7d097a1d5ad0c843867600e86de915e8ab8864740f49a4636cfb51af6/google_cloud_bigtable-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d0/aa/29cbcf8cf7d08ce2d55b9dce858f7c632b434cb6451bed17cb4275804217/google_cloud_datastore-1.7.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/91/07a82945a7396ea34debafd476724bb5fc267c292790fdf2138c693f95c5/google_cloud_pubsub-1.0.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5f/4b/404f59d065a410e835576433bc296599ae093460c7724fa5d5ca2354a885/grpc_google_iam_v1-0.12.7-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl + - pypi: https://files.pythonhosted.org/packages/14/32/754cd4474790239c7436a7a9490bc0c4a0a2ed604cb9a940151a3b1055b9/grpcio_status-1.48.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/29/c7/1be559eb10cb7cac0d26373f18656c8037553619ddd4098e50b04ea8b4ab/hdfs-2.7.3.tar.gz + - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/c0/7b/bc893e35d6ca46a72faa4b9eaac25c687ce60e1fbe978993fe2de1b0ff0d/oauth2client-3.0.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e0/e6/d14b4a2b54ef065b1a2c576537abe805c1af0c94caef70d365e2d78fc528/pyarrow-0.15.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ea/76/75b1bb82e9bad3e3d656556eaa353d8cd17c4254393b08ec9786ac8ed273/pydot-1.4.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/ff/9b08f29b57384e1f55080d15a12ba4908d93d46cd7fe83c5c562fdcd3400/pymongo-3.13.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/34/83/a485250bc09db55e4b4389d99e583fac871ceeaaa4620b67a31d8db95ef5/rechunker-0.5.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/72/f4/797f3e15cd1136d3f530baec0e06a0c700339b55b96e9420b28324c60c73/xarray_beam-0.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e3/a2/b65447626227ebe36f18f63ac551790068bf42c69bb22dfa3ae986170728/yarl-1.17.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b4/d1/c84022a44afc7b7ccc442fba3daee56bdd03593d91ee4bc245a08e4fcc55/zarr-2.18.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + - pypi: . + tests: + channels: + - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple + packages: + osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/41/77/8d9ce42673e5cb9988f6df73c1c5c1d4e9e788053cccd7f5fb14ef100982/black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/93/72/37d76e26bc9cc5ffb90cd2c29adcf0476922e8d89da6061682298e231a3b/pyink-24.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/2e/48/fcd02399c7c4041c850b59c7cd80c309f7b87c86649e2bfb515d44ad061c/rasterio-1.4.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/aa/b7/a881b08bb24ae15bd3644b313244d89b0eb50d88dbda577ce72e5e3e4be4/rioxarray-0.18.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + - pypi: . +packages: +- kind: pypi + name: absl-py + version: 2.1.0 + url: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl + sha256: 526a04eadab8b4ee719ce68f204172ead1027549089702d99b9059f129ff1308 + requires_python: '>=3.7' +- kind: pypi + name: affine + version: 2.4.0 + url: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl + sha256: 8a3df80e2b2378aef598a83c1392efd47967afec4242021a0b06b4c7cbc61a92 + requires_dist: + - pydocstyle ; extra == 'dev' + - flake8 ; extra == 'dev' + - coveralls ; extra == 'dev' + - pytest>=4.6 ; extra == 'test' + - pytest-cov ; extra == 'test' + requires_python: '>=3.7' +- kind: pypi + name: aiohappyeyeballs + version: 2.4.3 + url: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl + sha256: 8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572 + requires_python: '>=3.8' +- kind: pypi + name: aiohttp + version: 3.11.2 + url: https://files.pythonhosted.org/packages/4c/c6/2ea8c333f6c26cc48eb35e7bc369124ece9591bb8ef236cf72cb568da4f7/aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl + sha256: d3a2bcf6c81639a165da93469e1e0aff67c956721f3fa9c0560f07dd1e505116 + requires_dist: + - aiohappyeyeballs>=2.3.0 + - aiosignal>=1.1.2 + - attrs>=17.3.0 + - frozenlist>=1.1.1 + - multidict>=4.5,<7.0 + - propcache>=0.2.0 + - yarl>=1.17.0,<2.0 + - async-timeout>=4.0,<6.0 ; python_full_version < '3.11' + - brotlicffi ; platform_python_implementation != 'CPython' and extra == 'speedups' + - brotli ; platform_python_implementation == 'CPython' and extra == 'speedups' + - aiodns>=3.2.0 ; (sys_platform == 'darwin' and extra == 'speedups') or (sys_platform == 'linux' and extra == 'speedups') + requires_python: '>=3.9' +- kind: pypi + name: aiosignal + version: 1.3.1 + url: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl + sha256: f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17 + requires_dist: + - frozenlist>=1.1.0 + requires_python: '>=3.7' +- kind: pypi + name: apache-beam + version: 2.17.0 + url: https://files.pythonhosted.org/packages/bf/07/06f8eff85d93194ce4fe4281d7ba970fe46944463cd977f26fdf4b63017a/apache-beam-2.17.0.zip + sha256: 4e90b8a6caf075632314876febbdff949a6dc2217dd63e220bf25141f18ec957 + requires_dist: + - crcmod>=1.7,<2.0 + - dill>=0.3.0,<0.3.1 + - fastavro>=0.21.4,<0.22 + - future>=0.16.0,<1.0.0 + - grpcio>=1.12.1,<2 + - hdfs>=2.1.0,<3.0.0 + - httplib2>=0.8,<=0.12.0 + - mock>=1.0.1,<3.0.0 + - pymongo>=3.8.0,<4.0.0 + - oauth2client>=2.0.1,<4 + - protobuf>=3.5.0.post1,<4 + - pydot>=1.2.0,<2 + - python-dateutil>=2.8.0,<3 + - pytz>=2018.3 + - avro>=1.8.1,<2.0.0 ; python_full_version < '3.0' + - funcsigs>=1.0.2,<2 ; python_full_version < '3.0' + - futures>=3.2.0,<4.0.0 ; python_full_version < '3.0' + - pyvcf>=0.6.8,<0.7.0 ; python_full_version < '3.0' + - typing>=3.6.0,<3.7.0 ; python_full_version < '3.5' + - avro-python3>=1.8.1,<2.0.0 ; python_full_version >= '3.0' + - pyarrow>=0.15.1,<0.16.0 ; platform_system != 'Windows' or python_full_version >= '3.0' + - sphinx>=1.5.2,<2.0 ; extra == 'docs' + - cachetools>=3.1.0,<4 ; extra == 'gcp' + - google-apitools>=0.5.28,<0.5.29 ; extra == 'gcp' + - google-cloud-datastore>=1.7.1,<1.8.0 ; extra == 'gcp' + - google-cloud-pubsub>=0.39.0,<1.1.0 ; extra == 'gcp' + - google-cloud-bigquery>=1.6.0,<1.18.0 ; extra == 'gcp' + - google-cloud-core>=0.28.1,<2 ; extra == 'gcp' + - google-cloud-bigtable>=0.31.1,<1.1.0 ; extra == 'gcp' + - proto-google-cloud-datastore-v1>=0.90.0,<=0.90.4 ; python_full_version < '3.0' and extra == 'gcp' + - googledatastore>=7.0.1,<7.1 ; python_full_version < '3.0' and extra == 'gcp' + - nose>=1.3.7 ; extra == 'test' + - nose-xunitmp>=0.4.1 ; extra == 'test' + - numpy>=1.14.3,<2 ; extra == 'test' + - pandas>=0.23.4,<0.25 ; extra == 'test' + - parameterized>=0.6.0,<0.7.0 ; extra == 'test' + - pyhamcrest>=1.9,<2.0 ; extra == 'test' + - pyyaml>=3.12,<6.0.0 ; extra == 'test' + - requests-mock>=1.7,<2.0 ; extra == 'test' + - tenacity>=5.0.2,<6.0 ; extra == 'test' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*' +- kind: pypi + name: asciitree + version: 0.3.3 + url: https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz + sha256: 4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e +- kind: pypi + name: attrs + version: 24.2.0 + url: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl + sha256: 81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 + requires_dist: + - importlib-metadata ; python_full_version < '3.8' + - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'benchmark' + - hypothesis ; extra == 'benchmark' + - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'benchmark' + - pympler ; extra == 'benchmark' + - pytest-codspeed ; extra == 'benchmark' + - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'benchmark' + - pytest-xdist[psutil] ; extra == 'benchmark' + - pytest>=4.3.0 ; extra == 'benchmark' + - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'cov' + - coverage[toml]>=5.3 ; extra == 'cov' + - hypothesis ; extra == 'cov' + - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'cov' + - pympler ; extra == 'cov' + - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'cov' + - pytest-xdist[psutil] ; extra == 'cov' + - pytest>=4.3.0 ; extra == 'cov' + - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'dev' + - hypothesis ; extra == 'dev' + - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'dev' + - pre-commit ; extra == 'dev' + - pympler ; extra == 'dev' + - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'dev' + - pytest-xdist[psutil] ; extra == 'dev' + - pytest>=4.3.0 ; extra == 'dev' + - cogapp ; extra == 'docs' + - furo ; extra == 'docs' + - myst-parser ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-notfound-page ; extra == 'docs' + - sphinxcontrib-towncrier ; extra == 'docs' + - towncrier<24.7 ; extra == 'docs' + - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'tests' + - hypothesis ; extra == 'tests' + - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'tests' + - pympler ; extra == 'tests' + - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'tests' + - pytest-xdist[psutil] ; extra == 'tests' + - pytest>=4.3.0 ; extra == 'tests' + - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' + - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' + requires_python: '>=3.7' +- kind: pypi + name: avro-python3 + version: 1.10.2 + url: https://files.pythonhosted.org/packages/cc/97/7a6970380ca8db9139a3cc0b0e3e0dd3e4bc584fb3644e1d06e71e1a55f0/avro-python3-1.10.2.tar.gz + sha256: 3b63f24e6b04368c3e4a6f923f484be0230d821aad65ac36108edbff29e9aaab + requires_dist: + - python-snappy ; extra == 'snappy' + - zstandard ; extra == 'zstandard' + requires_python: '>=3.5' +- kind: pypi + name: black + version: 24.8.0 + url: https://files.pythonhosted.org/packages/41/77/8d9ce42673e5cb9988f6df73c1c5c1d4e9e788053cccd7f5fb14ef100982/black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed + requires_dist: + - click>=8.0.0 + - mypy-extensions>=0.4.3 + - packaging>=22.0 + - pathspec>=0.9.0 + - platformdirs>=2 + - tomli>=1.1.0 ; python_full_version < '3.11' + - typing-extensions>=4.0.1 ; python_full_version < '3.11' + - colorama>=0.4.3 ; extra == 'colorama' + - aiohttp>=3.7.4,!=3.9.0 ; implementation_name == 'pypy' and sys_platform == 'win32' and extra == 'd' + - aiohttp>=3.7.4 ; (implementation_name != 'pypy' and extra == 'd') or (sys_platform != 'win32' and extra == 'd') + - ipython>=7.8.0 ; extra == 'jupyter' + - tokenize-rt>=3.2.0 ; extra == 'jupyter' + - uvloop>=0.15.2 ; extra == 'uvloop' + requires_python: '>=3.8' +- kind: pypi + name: bokeh + version: 2.4.3 + url: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl + sha256: 104d2f0a4ca7774ee4b11e545aa34ff76bf3e2ad6de0d33944361981b65da420 + requires_dist: + - jinja2>=2.9 + - numpy>=1.11.3 + - packaging>=16.8 + - pillow>=7.1.0 + - pyyaml>=3.10 + - tornado>=5.1 + - typing-extensions>=3.10.0 + requires_python: '>=3.7' +- kind: conda + name: bzip2 + version: 1.0.8 + build: h99b78c6_7 + build_number: 7 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda + sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91 + md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab + depends: + - __osx >=11.0 + license: bzip2-1.0.6 + license_family: BSD + purls: [] + size: 122909 + timestamp: 1720974522888 +- kind: conda + name: ca-certificates + version: 2024.8.30 + build: hf0a4a13_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda + sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709 + md5: 40dec13fd8348dbe303e57be74bd3d35 + license: ISC + purls: [] + size: 158482 + timestamp: 1725019034582 +- kind: pypi + name: cachetools + version: 3.1.1 + url: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl + sha256: 428266a1c0d36dc5aca63a2d7c5942e88c2c898d72139fca0e97fdd2380517ae +- kind: pypi + name: certifi + version: 2024.12.14 + url: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl + sha256: 1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56 + requires_python: '>=3.6' +- kind: pypi + name: charset-normalizer + version: 3.4.0 + url: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db + requires_python: '>=3.7.0' +- kind: conda + name: click + version: 8.1.8 + build: pyh707e725_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda + sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab + md5: f22f4d4970e09d68a10b922cbb0408d3 + depends: + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/click?source=hash-mapping + size: 84705 + timestamp: 1734858922844 +- kind: pypi + name: click-plugins + version: 1.1.1 + url: https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.whl + sha256: 5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8 + requires_dist: + - click>=4.0 + - pytest>=3.6 ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - wheel ; extra == 'dev' + - coveralls ; extra == 'dev' +- kind: pypi + name: cligj + version: 0.7.2 + url: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl + sha256: c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df + requires_dist: + - click>=4.0 + - pytest-cov ; extra == 'test' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,<4' +- kind: pypi + name: cloudpickle + version: 2.2.1 + url: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + sha256: 61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f + requires_python: '>=3.6' +- kind: pypi + name: crcmod + version: '1.7' + url: https://files.pythonhosted.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b/crcmod-1.7.tar.gz + sha256: dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e +- kind: pypi + name: dask + version: 2023.3.0 + url: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl + sha256: 4b355da5492fd8699017e786e281ad347528d11c868b645d102124df3621e9ee + requires_dist: + - click>=7.0 + - cloudpickle>=1.1.1 + - fsspec>=0.6.0 + - packaging>=20.0 + - partd>=1.2.0 + - pyyaml>=5.3.1 + - toolz>=0.8.2 + - numpy>=1.21 ; extra == 'array' + - bokeh>=2.4.2,<3 ; extra == 'complete' + - distributed==2023.3.0 ; extra == 'complete' + - jinja2>=2.10.3 ; extra == 'complete' + - numpy>=1.21 ; extra == 'complete' + - pandas>=1.3 ; extra == 'complete' + - numpy>=1.21 ; extra == 'dataframe' + - pandas>=1.3 ; extra == 'dataframe' + - bokeh>=2.4.2,<3 ; extra == 'diagnostics' + - jinja2>=2.10.3 ; extra == 'diagnostics' + - distributed==2023.3.0 ; extra == 'distributed' + - pandas[test] ; extra == 'test' + - pytest ; extra == 'test' + - pytest-rerunfailures ; extra == 'test' + - pytest-xdist ; extra == 'test' + - pre-commit ; extra == 'test' + requires_python: '>=3.8' +- kind: conda + name: decorator + version: 5.1.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 + sha256: 328a6a379f9bdfd0230e51de291ce858e6479411ea4b0545fb377c71662ef3e2 + md5: 43afe5ab04e35e17ba28649471dd7364 + depends: + - python >=3.5 + license: BSD-2-Clause + license_family: BSD + purls: + - pkg:pypi/decorator?source=hash-mapping + size: 12072 + timestamp: 1641555714315 +- kind: pypi + name: dill + version: 0.3.0 + url: https://files.pythonhosted.org/packages/39/7a/70803635c850e351257029089d38748516a280864c97cbc73087afef6d51/dill-0.3.0.tar.gz + sha256: 993409439ebf7f7902d9de93eaa2a395e0446ff773d29f13dc46646482f76906 + requires_dist: + - objgraph>=1.7.2 ; extra == 'graph' + requires_python: '>=2.6,!=3.0.*' +- kind: pypi + name: distributed + version: 2023.3.0 + url: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + sha256: dd1f5854d1117a40c397f08f24e0d832d7e0ef15fba3266c85af4420c6a379ec + requires_dist: + - click>=7.0 + - cloudpickle>=1.5.0 + - dask==2023.3.0 + - jinja2>=2.10.3 + - locket>=1.0.0 + - msgpack>=1.0.0 + - packaging>=20.0 + - psutil>=5.7.0 + - pyyaml>=5.3.1 + - sortedcontainers>=2.0.5 + - tblib>=1.6.0 + - toolz>=0.10.0 + - tornado>=6.0.3 + - urllib3>=1.24.3 + - zict>=2.1.0 + requires_python: '>=3.8' +- kind: pypi + name: docopt + version: 0.6.2 + url: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz + sha256: 49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491 +- kind: pypi + name: earthengine-api + version: 1.4.4 + url: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl + sha256: 3976e93c7c50f3263de1b3ecba294ed030bef617fd81f674dd163c4c5eba38a8 + requires_dist: + - google-cloud-storage + - google-api-python-client>=1.12.1 + - google-auth>=1.4.1 + - google-auth-httplib2>=0.0.3 + - httplib2>=0.9.2,<1.dev0 + - requests + - absl-py ; extra == 'tests' + - geopandas ; extra == 'tests' + - numpy ; extra == 'tests' + requires_python: '>=3.9' +- kind: pypi + name: fastavro + version: 0.21.24 + url: https://files.pythonhosted.org/packages/85/7b/15d6af265fc01bf7ab93e7dc823b3f8dd8a6c56420999207446b7d2de997/fastavro-0.21.24.tar.gz + sha256: 7ac9bcf6e1226393d6db163f33ab5915e98ebf867fdab8f6239dc15c26f474da + requires_dist: + - python-snappy ; extra == 'snappy' +- kind: pypi + name: fasteners + version: '0.19' + url: https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl + sha256: 758819cb5d94cdedf4e836988b74de396ceacb8e2794d21f82d131fd9ee77237 + requires_python: '>=3.6' +- kind: pypi + name: frozenlist + version: 1.5.0 + url: https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e + requires_python: '>=3.8' +- kind: pypi + name: fsspec + version: 2024.2.0 + url: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl + sha256: 817f969556fa5916bc682e02ca2045f96ff7f586d45110fcb76022063ad2c7d8 + requires_dist: + - adlfs ; extra == 'abfs' + - adlfs ; extra == 'adl' + - pyarrow>=1 ; extra == 'arrow' + - dask ; extra == 'dask' + - distributed ; extra == 'dask' + - pytest ; extra == 'devel' + - pytest-cov ; extra == 'devel' + - dropboxdrivefs ; extra == 'dropbox' + - requests ; extra == 'dropbox' + - dropbox ; extra == 'dropbox' + - adlfs ; extra == 'full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'full' + - dask ; extra == 'full' + - distributed ; extra == 'full' + - dropbox ; extra == 'full' + - dropboxdrivefs ; extra == 'full' + - fusepy ; extra == 'full' + - gcsfs ; extra == 'full' + - libarchive-c ; extra == 'full' + - ocifs ; extra == 'full' + - panel ; extra == 'full' + - paramiko ; extra == 'full' + - pyarrow>=1 ; extra == 'full' + - pygit2 ; extra == 'full' + - requests ; extra == 'full' + - s3fs ; extra == 'full' + - smbprotocol ; extra == 'full' + - tqdm ; extra == 'full' + - fusepy ; extra == 'fuse' + - gcsfs ; extra == 'gcs' + - pygit2 ; extra == 'git' + - requests ; extra == 'github' + - gcsfs ; extra == 'gs' + - panel ; extra == 'gui' + - pyarrow>=1 ; extra == 'hdfs' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'http' + - libarchive-c ; extra == 'libarchive' + - ocifs ; extra == 'oci' + - s3fs ; extra == 's3' + - paramiko ; extra == 'sftp' + - smbprotocol ; extra == 'smb' + - paramiko ; extra == 'ssh' + - tqdm ; extra == 'tqdm' + requires_python: '>=3.8' +- kind: pypi + name: future + version: 0.18.3 + url: https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec/future-0.18.3.tar.gz + sha256: 34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307 + requires_python: '>=2.6,!=3.0.*,!=3.1.*,!=3.2.*' +- kind: pypi + name: gcsfs + version: 2024.2.0 + url: https://files.pythonhosted.org/packages/5b/18/f40a808abb7ce9aaf8a2143b699dd0b246e61ea590ce55810ceae45610ed/gcsfs-2024.2.0-py2.py3-none-any.whl + sha256: 20bf70cc81d580474dd299d55e1ffcf8b3e81721aeb562e148ca0a3c900d0421 + requires_dist: + - aiohttp!=4.0.0a0,!=4.0.0a1 + - decorator>4.1.2 + - fsspec==2024.2.0 + - google-auth>=1.2 + - google-auth-oauthlib + - google-cloud-storage + - requests + - crcmod ; extra == 'crc' + - fusepy ; extra == 'gcsfuse' + requires_python: '>=3.8' +- kind: pypi + name: google-api-core + version: 1.34.1 + url: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl + sha256: 52bcc9d9937735f8a3986fa0bbf9135ae9cf5393a722387e5eced520e39c774a + requires_dist: + - googleapis-common-protos>=1.56.2,<2.0.dev0 + - protobuf>=3.19.5,!=3.20.0,!=3.20.1,<4.0.0.dev0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5 + - google-auth>=1.25.0,<3.0.dev0 + - requests>=2.18.0,<3.0.0.dev0 + - grpcio>=1.33.2,<2.0.dev0 ; extra == 'grpc' + - grpcio-status>=1.33.2,<2.0.dev0 ; extra == 'grpc' + - grpcio-gcp>=0.2.2,<1.0.dev0 ; extra == 'grpcgcp' + - grpcio-gcp>=0.2.2,<1.0.dev0 ; extra == 'grpcio-gcp' + requires_python: '>=3.7' +- kind: pypi + name: google-api-python-client + version: 1.12.2 + url: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl + sha256: 05cb331ed1aa15746f606c7e36ea51dbe7c29b1a5df9bbf58140901fe23d7142 + requires_dist: + - httplib2>=0.9.2,<1.dev0 + - google-auth>=1.16.0 + - google-auth-httplib2>=0.0.3 + - google-api-core>=1.21.0,<2.dev0 + - six>=1.13.0,<2.dev0 + - uritemplate>=3.0.0,<4.dev0 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: google-apitools + version: 0.5.28 + url: https://files.pythonhosted.org/packages/7f/32/df3e36fd705a00092f1ffa9f41ce1df8dcb594ae313d239b87861a41fc2e/google-apitools-0.5.28.tar.gz + sha256: c41792b0cb1a9d952545a95bb5a18376fd727e4c4977d6fa3f1643d1d51a7177 + requires_dist: + - httplib2>=0.8 + - fasteners>=0.14 + - oauth2client>=1.4.12 + - six>=1.12.0 + - python-gflags>=3.0.6 ; extra == 'cli' + - unittest2>=0.5.1 ; extra == 'testing' + - mock>=1.0.1 ; extra == 'testing' +- kind: pypi + name: google-auth + version: 1.35.0 + url: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl + sha256: 997516b42ecb5b63e8d80f5632c1a61dddf41d2a4c2748057837e06e00014258 + requires_dist: + - cachetools>=2.0.0,<5.0 + - pyasn1-modules>=0.2.1 + - setuptools>=40.3.0 + - six>=1.9.0 + - rsa<4.6 ; python_full_version < '3.6' + - rsa>=3.1.4,<5 ; python_full_version >= '3.6' + - requests>=2.20.0,<3.0.0.dev0 ; extra == 'aiohttp' + - aiohttp>=3.6.2,<4.0.0.dev0 ; python_full_version >= '3.6' and extra == 'aiohttp' + - pyopenssl>=20.0.0 ; extra == 'pyopenssl' + - pyu2f>=0.1.5 ; extra == 'reauth' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' +- kind: pypi + name: google-auth-httplib2 + version: 0.0.4 + url: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl + sha256: aeaff501738b289717fac1980db9711d77908a6c227f60e4aa1923410b43e2ee + requires_dist: + - google-auth + - httplib2>=0.9.1 + - six +- kind: pypi + name: google-auth-oauthlib + version: 0.5.3 + url: https://files.pythonhosted.org/packages/04/74/8a2664dc7b5494ebef67f876467d7a2336810affcd0b9f7cf325631314ac/google_auth_oauthlib-0.5.3-py2.py3-none-any.whl + sha256: 9e8ff4ed2b21c174a2d6cc2172c698dbf0b1f686509774c663a83c495091fe09 + requires_dist: + - google-auth>=1.0.0 + - requests-oauthlib>=0.7.0 + - click>=6.0.0 ; extra == 'tool' + requires_python: '>=3.6' +- kind: pypi + name: google-cloud-bigquery + version: 1.17.0 + url: https://files.pythonhosted.org/packages/d7/72/e88edd9a0b3c16a7b2c4107b1a9d3ff182b84a29f051ae15293e1375d7fe/google_cloud_bigquery-1.17.0-py2.py3-none-any.whl + sha256: ce9dfc4407c938b44287fe68da387a0da1bb15da4b7cfa43db864f66a8bb310c + requires_dist: + - google-cloud-core>=1.0.0,<2.0.dev0 + - google-resumable-media>=0.3.1 + - protobuf>=3.6.0 + - enum34 ; python_full_version < '3.4' + - google-cloud-bigquery-storage>=0.6.0,<2.0.0.dev0 ; extra == 'all' + - pyarrow>=0.13.0,!=0.14.0 ; extra == 'all' + - pandas>=0.17.1 ; extra == 'all' + - pyarrow>=0.4.1,!=0.14.0 ; extra == 'all' + - tqdm>=4.0.0,<5.0.0.dev0 ; extra == 'all' + - google-cloud-bigquery-storage>=0.6.0,<2.0.0.dev0 ; extra == 'bqstorage' + - pyarrow>=0.13.0,!=0.14.0 ; extra == 'bqstorage' + - fastparquet ; extra == 'fastparquet' + - python-snappy ; extra == 'fastparquet' + - pandas>=0.17.1 ; extra == 'pandas' + - pyarrow>=0.4.1,!=0.14.0 ; (platform_system != 'Windows' and extra == 'pyarrow') or (python_full_version >= '3.4' and extra == 'pyarrow') + - tqdm>=4.0.0,<5.0.0.dev0 ; extra == 'tqdm' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: google-cloud-bigtable + version: 1.0.0 + url: https://files.pythonhosted.org/packages/95/af/0ef7d097a1d5ad0c843867600e86de915e8ab8864740f49a4636cfb51af6/google_cloud_bigtable-1.0.0-py2.py3-none-any.whl + sha256: 4323362b836ddf9e7324b0be1a34e3f80d09729356233c05e969b577244c49a3 + requires_dist: + - google-api-core[grpc]>=1.14.0,<2.0.0.dev0 + - google-cloud-core>=1.0.0,<2.0.dev0 + - grpc-google-iam-v1>=0.12.3,<0.13.dev0 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: google-cloud-core + version: 1.7.3 + url: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl + sha256: d5af737c60a73b9588a0511332ac0cdc6294ad8e477c7b82be03a1afc7c3f7b6 + requires_dist: + - google-api-core>=1.21.0,<3.0.0.dev0 + - google-auth>=1.24.0,<2.0.dev0 + - six>=1.12.0 + - grpcio>=1.8.2,<2.0.dev0 ; extra == 'grpc' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' +- kind: pypi + name: google-cloud-datastore + version: 1.7.4 + url: https://files.pythonhosted.org/packages/d0/aa/29cbcf8cf7d08ce2d55b9dce858f7c632b434cb6451bed17cb4275804217/google_cloud_datastore-1.7.4-py2.py3-none-any.whl + sha256: ffb075abf606ebd248c3ad76ac0e6d3e93858d8c61a063139938a162a58b28d0 + requires_dist: + - google-api-core[grpc]>=1.6.0,<2.0.0.dev0 + - google-cloud-core>=0.29.0,<2.0.dev0 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: google-cloud-pubsub + version: 1.0.2 + url: https://files.pythonhosted.org/packages/d3/91/07a82945a7396ea34debafd476724bb5fc267c292790fdf2138c693f95c5/google_cloud_pubsub-1.0.2-py2.py3-none-any.whl + sha256: 12ff565ef00e4ca19d2ae26ae4515070094ba857d7c7024370dbed81fc7d58ab + requires_dist: + - google-api-core[grpc]>=1.14.0,<2.0.0.dev0 + - grpc-google-iam-v1>=0.12.3,<0.13.dev0 + - enum34 ; python_full_version < '3.4' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: google-cloud-storage + version: 2.2.1 + url: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + sha256: abdf0fadf26516172e804e00b9c24819a3b3f7351cd32f35ca249bbfac965494 + requires_dist: + - google-auth>=1.25.0,<3.0.dev0 + - google-api-core>=1.31.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0 + - google-cloud-core>=1.6.0,<3.0.dev0 + - google-resumable-media>=2.3.2 + - requests>=2.18.0,<3.0.0.dev0 + - protobuf + requires_python: '>=3.7' +- kind: pypi + name: google-crc32c + version: 1.6.0 + url: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl + sha256: ed767bf4ba90104c1216b68111613f0d5926fb3780660ea1198fc469af410e9d + requires_dist: + - importlib-resources>=1.3 ; python_full_version < '3.9' and os_name == 'nt' + - pytest ; extra == 'testing' + requires_python: '>=3.9' +- kind: pypi + name: google-resumable-media + version: 2.7.2 + url: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl + sha256: 3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa + requires_dist: + - google-crc32c>=1.0,<2.0.dev0 + - aiohttp>=3.6.2,<4.0.0.dev0 ; extra == 'aiohttp' + - google-auth>=1.22.0,<2.0.dev0 ; extra == 'aiohttp' + - requests>=2.18.0,<3.0.0.dev0 ; extra == 'requests' + requires_python: '>=3.7' +- kind: pypi + name: googleapis-common-protos + version: 1.66.0 + url: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl + sha256: d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed + requires_dist: + - protobuf!=3.20.0,!=3.20.1,>=3.20.2,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - grpcio>=1.44.0,<2.0.0.dev0 ; extra == 'grpc' + requires_python: '>=3.7' +- kind: pypi + name: grpc-google-iam-v1 + version: 0.12.7 + url: https://files.pythonhosted.org/packages/5f/4b/404f59d065a410e835576433bc296599ae093460c7724fa5d5ca2354a885/grpc_google_iam_v1-0.12.7-py2.py3-none-any.whl + sha256: 834da89f4c4a2abbe842a793ed20fc6d9a77011ef2626755b1b89116fb9596d7 + requires_dist: + - grpcio>=1.44.0,<2.0.0.dev0 + - googleapis-common-protos[grpc]>=1.56.0,<2.0.0.dev0 + - protobuf>=3.19.5,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0 + requires_python: '>=3.7' +- kind: pypi + name: grpcio + version: 1.69.0 + url: https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl + sha256: 0f0270bd9ffbff6961fe1da487bdcd594407ad390cc7960e738725d4807b18c4 + requires_dist: + - grpcio-tools>=1.69.0 ; extra == 'protobuf' + requires_python: '>=3.8' +- kind: pypi + name: grpcio-status + version: 1.48.2 + url: https://files.pythonhosted.org/packages/14/32/754cd4474790239c7436a7a9490bc0c4a0a2ed604cb9a940151a3b1055b9/grpcio_status-1.48.2-py3-none-any.whl + sha256: 2c33bbdbe20188b2953f46f31af669263b6ee2a9b2d38fa0d36ee091532e21bf + requires_dist: + - protobuf>=3.12.0 + - grpcio>=1.48.2 + - googleapis-common-protos>=1.5.5 + requires_python: '>=3.6' +- kind: pypi + name: hdfs + version: 2.7.3 + url: https://files.pythonhosted.org/packages/29/c7/1be559eb10cb7cac0d26373f18656c8037553619ddd4098e50b04ea8b4ab/hdfs-2.7.3.tar.gz + sha256: 752a21e43f82197dce43697c73f454ba490838108c73a57a9247efb66d1c0479 + requires_dist: + - docopt + - requests>=2.7.0 + - six>=1.9.0 + - fastavro>=0.21.19 ; extra == 'avro' + - fastavro>=0.21.19 ; extra == 'dataframe' + - pandas>=0.14.1 ; extra == 'dataframe' + - requests-kerberos>=0.7.0 ; extra == 'kerberos' +- kind: pypi + name: httplib2 + version: 0.12.0 + url: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + sha256: f61fb838a94ce3b349aa32c92fd8430f7e3511afdb18bf9640d647e30c90a6d6 +- kind: pypi + name: idna + version: '3.10' + url: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl + sha256: 946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 + requires_dist: + - ruff>=0.6.2 ; extra == 'all' + - mypy>=1.11.2 ; extra == 'all' + - pytest>=8.3.2 ; extra == 'all' + - flake8>=7.1.1 ; extra == 'all' + requires_python: '>=3.6' +- kind: pypi + name: iniconfig + version: 2.0.0 + url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl + sha256: b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 + requires_python: '>=3.7' +- kind: pypi + name: jinja2 + version: 3.1.4 + url: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + sha256: bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d + requires_dist: + - markupsafe>=2.0 + - babel>=2.7 ; extra == 'i18n' + requires_python: '>=3.7' +- kind: conda + name: libblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda + sha256: f1fb9a11af0b2878bd8804b4c77d3733c40076218bcbdb35f575b1c0c9fddf11 + md5: f8cf4d920ff36ce471619010eff59cac + depends: + - libopenblas >=0.3.28,<0.3.29.0a0 + - libopenblas >=0.3.28,<1.0a0 + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 15913 + timestamp: 1729643265495 +- kind: conda + name: libcblas + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda + sha256: d9fa5b6b11252132a3383bbf87bd2f1b9d6248bef1b7e113c2a8ae41b0376218 + md5: 4df0fae81f0b5bf47d48c882b086da11 + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapack 3.9.0 25_osxarm64_openblas + - liblapacke 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 15837 + timestamp: 1729643270793 +- kind: conda + name: libcxx + version: 19.1.3 + build: ha82da77_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + sha256: 6d062760c6439e75b9a44d800d89aff60fe3441998d87506c62dc94c50412ef4 + md5: bf691071fba4734984231617783225bc + depends: + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + purls: [] + size: 520771 + timestamp: 1730314603920 +- kind: conda + name: libexpat + version: 2.6.4 + build: h286801f_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda + sha256: e42ab5ace927ee7c84e3f0f7d813671e1cf3529f5f06ee5899606630498c2745 + md5: 38d2656dd914feb0cab8c629370768bf + depends: + - __osx >=11.0 + constrains: + - expat 2.6.4.* + license: MIT + license_family: MIT + purls: [] + size: 64693 + timestamp: 1730967175868 +- kind: conda + name: libffi + version: 3.4.2 + build: h3422bc3_5 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + sha256: 41b3d13efb775e340e4dba549ab5c029611ea6918703096b2eaa9c015c0750ca + md5: 086914b672be056eb70fd4285b6783b6 + license: MIT + license_family: MIT + purls: [] + size: 39020 + timestamp: 1636488587153 +- kind: conda + name: libgfortran + version: 5.0.0 + build: 13_2_0_hd922786_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda + sha256: 44e541b4821c96b28b27fef5630883a60ce4fee91fd9c79f25a199f8f73f337b + md5: 4a55d9e169114b2b90d3ec4604cd7bbf + depends: + - libgfortran5 13.2.0 hf226fd6_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 110233 + timestamp: 1707330749033 +- kind: conda + name: libgfortran5 + version: 13.2.0 + build: hf226fd6_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda + sha256: bafc679eedb468a86aa4636061c55966186399ee0a04b605920d208d97ac579a + md5: 66ac81d54e95c534ae488726c1f698ea + depends: + - llvm-openmp >=8.0.0 + constrains: + - libgfortran 5.0.0 13_2_0_*_3 + license: GPL-3.0-only WITH GCC-exception-3.1 + license_family: GPL + purls: [] + size: 997381 + timestamp: 1707330687590 +- kind: conda + name: liblapack + version: 3.9.0 + build: 25_osxarm64_openblas + build_number: 25 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + sha256: fdd742407672a9af20e70764550cf18b3ab67f12e48bf04163b90492fbc401e7 + md5: 19bbddfec972d401838330453186108d + depends: + - libblas 3.9.0 25_osxarm64_openblas + constrains: + - blas * openblas + - liblapacke 3.9.0 25_osxarm64_openblas + - libcblas 3.9.0 25_osxarm64_openblas + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 15823 + timestamp: 1729643275943 +- kind: conda + name: libopenblas + version: 0.3.28 + build: openmp_hf332438_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda + sha256: 62bb669c37a845129096f73d446cdb6bb170e4927f2fea2b661329680dbbc373 + md5: 40803a48d947c8639da6704e9a44d3ce + depends: + - __osx >=11.0 + - libgfortran 5.* + - libgfortran5 >=13.2.0 + - llvm-openmp >=18.1.8 + constrains: + - openblas >=0.3.28,<0.3.29.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 4165774 + timestamp: 1730772154295 +- kind: conda + name: libsqlite + version: 3.47.0 + build: hbaaea75_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e + md5: 07a14fbe439eef078cc479deca321161 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: Unlicense + purls: [] + size: 837683 + timestamp: 1730208293578 +- kind: conda + name: libzlib + version: 1.3.1 + build: h8359307_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda + sha256: ce34669eadaba351cd54910743e6a2261b67009624dbc7daeeafdef93616711b + md5: 369964e85dc26bfe78f41399b366c435 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.1 *_2 + license: Zlib + license_family: Other + purls: [] + size: 46438 + timestamp: 1727963202283 +- kind: conda + name: llvm-openmp + version: 19.1.3 + build: hb52a8e5_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda + sha256: 49a8940e727aa82ee034fa9a60b3fcababec41b3192d955772aab635a5374b82 + md5: dd695d23e78d1ca4fecce969b1e1db61 + depends: + - __osx >=11.0 + constrains: + - openmp 19.1.3|19.1.3.* + license: Apache-2.0 WITH LLVM-exception + license_family: APACHE + purls: [] + size: 280488 + timestamp: 1730364082380 +- kind: pypi + name: locket + version: 1.0.0 + url: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + sha256: b6c819a722f7b6bd955b80781788e4a66a55628b858d347536b7e81325a3a5e3 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: markupsafe + version: 3.0.2 + url: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl + sha256: 846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 + requires_python: '>=3.9' +- kind: pypi + name: mock + version: 2.0.0 + url: https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl + sha256: 5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1 + requires_dist: + - pbr>=0.11 + - six>=1.9 + - funcsigs>=1 ; python_full_version < '3.3' + - sphinx ; (python_full_version < '3.0' and extra == 'docs') or (python_full_version >= '3.3' and extra == 'docs') + - pygments<2 ; python_full_version >= '3.0' and python_full_version < '3.3' and extra == 'docs' + - jinja2<2.7 ; python_full_version >= '3.0' and python_full_version < '3.3' and extra == 'docs' + - sphinx<1.3 ; python_full_version >= '3.0' and python_full_version < '3.3' and extra == 'docs' + - unittest2>=1.1.0 ; extra == 'test' +- kind: pypi + name: msgpack + version: 1.1.0 + url: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420 + requires_python: '>=3.8' +- kind: pypi + name: multidict + version: 6.1.0 + url: https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761 + requires_dist: + - typing-extensions>=4.1.0 ; python_full_version < '3.11' + requires_python: '>=3.8' +- kind: pypi + name: mypy-extensions + version: 1.0.0 + url: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl + sha256: 4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d + requires_python: '>=3.5' +- kind: conda + name: ncurses + version: '6.5' + build: h7bae524_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda + sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc + md5: cb2b0ea909b97b3d70cd3921d1445e1a + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + purls: [] + size: 802321 + timestamp: 1724658775723 +- kind: pypi + name: numcodecs + version: 0.13.1 + url: https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl + sha256: 3501a848adaddce98a71a262fee15cd3618312692aa419da77acd18af4a6a3f6 + requires_dist: + - numpy>=1.7 + - sphinx ; extra == 'docs' + - sphinx-issues ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - numpydoc ; extra == 'docs' + - mock ; extra == 'docs' + - msgpack ; extra == 'msgpack' + - pcodec>=0.2.0 ; extra == 'pcodec' + - coverage ; extra == 'test' + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - importlib-metadata ; extra == 'test-extras' + - zfpy>=1.0.0 ; extra == 'zfpy' + - numpy<2.0.0 ; extra == 'zfpy' + requires_python: '>=3.10' +- kind: conda + name: numpy + version: 2.2.1 + build: py312h41c6370_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda + sha256: 0a08d24a9879009bbb3eeea8aa0116d027968732c2092f0290102cd757307de8 + md5: c8319d0e393fee76123fd617dddb8977 + depends: + - __osx >=11.0 + - libblas >=3.9.0,<4.0a0 + - libcblas >=3.9.0,<4.0a0 + - libcxx >=18 + - liblapack >=3.9.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + constrains: + - numpy-base <0a0 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/numpy?source=hash-mapping + size: 6495249 + timestamp: 1734904743892 +- kind: pypi + name: oauth2client + version: 3.0.0 + url: https://files.pythonhosted.org/packages/c0/7b/bc893e35d6ca46a72faa4b9eaac25c687ce60e1fbe978993fe2de1b0ff0d/oauth2client-3.0.0.tar.gz + sha256: 5b5b056ec6f2304e7920b632885bd157fa71d1a7f3ddd00a43b1541a8d1a2460 + requires_dist: + - httplib2>=0.9.1 + - pyasn1>=0.1.7 + - pyasn1-modules>=0.0.5 + - rsa>=3.1.4 + - six>=1.6.1 +- kind: pypi + name: oauthlib + version: 3.2.2 + url: https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl + sha256: 8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca + requires_dist: + - cryptography>=3.0.0 ; extra == 'rsa' + - blinker>=1.4.0 ; extra == 'signals' + - cryptography>=3.0.0 ; extra == 'signedtoken' + - pyjwt>=2.0.0,<3 ; extra == 'signedtoken' + requires_python: '>=3.6' +- kind: conda + name: openssl + version: 3.4.0 + build: h39f12f2_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda + sha256: bd1d58ced46e75efa3b842c61642fd12272c69e9fe4d7261078bc082153a1d53 + md5: df307bbc703324722df0293c9ca2e418 + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + purls: [] + size: 2935176 + timestamp: 1731377561525 +- kind: conda + name: packaging + version: '24.2' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda + sha256: 0f8273bf66c2a5c1de72312a509deae07f163bb0ae8de8273c52e6fe945a0850 + md5: c16469afe1ec91aaafcf4bea966c0465 + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/packaging?source=hash-mapping + size: 60345 + timestamp: 1731457074006 +- kind: pypi + name: pandas + version: 2.2.3 + url: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl + sha256: a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4 + requires_dist: + - numpy>=1.22.4 ; python_full_version < '3.11' + - numpy>=1.23.2 ; python_full_version == '3.11.*' + - numpy>=1.26.0 ; python_full_version >= '3.12' + - python-dateutil>=2.8.2 + - pytz>=2020.1 + - tzdata>=2022.7 + - hypothesis>=6.46.1 ; extra == 'test' + - pytest>=7.3.2 ; extra == 'test' + - pytest-xdist>=2.2.0 ; extra == 'test' + - pyarrow>=10.0.1 ; extra == 'pyarrow' + - bottleneck>=1.3.6 ; extra == 'performance' + - numba>=0.56.4 ; extra == 'performance' + - numexpr>=2.8.4 ; extra == 'performance' + - scipy>=1.10.0 ; extra == 'computation' + - xarray>=2022.12.0 ; extra == 'computation' + - fsspec>=2022.11.0 ; extra == 'fss' + - s3fs>=2022.11.0 ; extra == 'aws' + - gcsfs>=2022.11.0 ; extra == 'gcp' + - pandas-gbq>=0.19.0 ; extra == 'gcp' + - odfpy>=1.4.1 ; extra == 'excel' + - openpyxl>=3.1.0 ; extra == 'excel' + - python-calamine>=0.1.7 ; extra == 'excel' + - pyxlsb>=1.0.10 ; extra == 'excel' + - xlrd>=2.0.1 ; extra == 'excel' + - xlsxwriter>=3.0.5 ; extra == 'excel' + - pyarrow>=10.0.1 ; extra == 'parquet' + - pyarrow>=10.0.1 ; extra == 'feather' + - tables>=3.8.0 ; extra == 'hdf5' + - pyreadstat>=1.2.0 ; extra == 'spss' + - sqlalchemy>=2.0.0 ; extra == 'postgresql' + - psycopg2>=2.9.6 ; extra == 'postgresql' + - adbc-driver-postgresql>=0.8.0 ; extra == 'postgresql' + - sqlalchemy>=2.0.0 ; extra == 'mysql' + - pymysql>=1.0.2 ; extra == 'mysql' + - sqlalchemy>=2.0.0 ; extra == 'sql-other' + - adbc-driver-postgresql>=0.8.0 ; extra == 'sql-other' + - adbc-driver-sqlite>=0.8.0 ; extra == 'sql-other' + - beautifulsoup4>=4.11.2 ; extra == 'html' + - html5lib>=1.1 ; extra == 'html' + - lxml>=4.9.2 ; extra == 'html' + - lxml>=4.9.2 ; extra == 'xml' + - matplotlib>=3.6.3 ; extra == 'plot' + - jinja2>=3.1.2 ; extra == 'output-formatting' + - tabulate>=0.9.0 ; extra == 'output-formatting' + - pyqt5>=5.15.9 ; extra == 'clipboard' + - qtpy>=2.3.0 ; extra == 'clipboard' + - zstandard>=0.19.0 ; extra == 'compression' + - dataframe-api-compat>=0.1.7 ; extra == 'consortium-standard' + - adbc-driver-postgresql>=0.8.0 ; extra == 'all' + - adbc-driver-sqlite>=0.8.0 ; extra == 'all' + - beautifulsoup4>=4.11.2 ; extra == 'all' + - bottleneck>=1.3.6 ; extra == 'all' + - dataframe-api-compat>=0.1.7 ; extra == 'all' + - fastparquet>=2022.12.0 ; extra == 'all' + - fsspec>=2022.11.0 ; extra == 'all' + - gcsfs>=2022.11.0 ; extra == 'all' + - html5lib>=1.1 ; extra == 'all' + - hypothesis>=6.46.1 ; extra == 'all' + - jinja2>=3.1.2 ; extra == 'all' + - lxml>=4.9.2 ; extra == 'all' + - matplotlib>=3.6.3 ; extra == 'all' + - numba>=0.56.4 ; extra == 'all' + - numexpr>=2.8.4 ; extra == 'all' + - odfpy>=1.4.1 ; extra == 'all' + - openpyxl>=3.1.0 ; extra == 'all' + - pandas-gbq>=0.19.0 ; extra == 'all' + - psycopg2>=2.9.6 ; extra == 'all' + - pyarrow>=10.0.1 ; extra == 'all' + - pymysql>=1.0.2 ; extra == 'all' + - pyqt5>=5.15.9 ; extra == 'all' + - pyreadstat>=1.2.0 ; extra == 'all' + - pytest>=7.3.2 ; extra == 'all' + - pytest-xdist>=2.2.0 ; extra == 'all' + - python-calamine>=0.1.7 ; extra == 'all' + - pyxlsb>=1.0.10 ; extra == 'all' + - qtpy>=2.3.0 ; extra == 'all' + - scipy>=1.10.0 ; extra == 'all' + - s3fs>=2022.11.0 ; extra == 'all' + - sqlalchemy>=2.0.0 ; extra == 'all' + - tables>=3.8.0 ; extra == 'all' + - tabulate>=0.9.0 ; extra == 'all' + - xarray>=2022.12.0 ; extra == 'all' + - xlrd>=2.0.1 ; extra == 'all' + - xlsxwriter>=3.0.5 ; extra == 'all' + - zstandard>=0.19.0 ; extra == 'all' + requires_python: '>=3.9' +- kind: pypi + name: partd + version: 1.4.2 + url: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl + sha256: 978e4ac767ec4ba5b86c6eaa52e5a2a3bc748a2ca839e8cc798f1cc6ce6efb0f + requires_dist: + - locket + - toolz + - numpy>=1.20.0 ; extra == 'complete' + - pandas>=1.3 ; extra == 'complete' + - pyzmq ; extra == 'complete' + - blosc ; extra == 'complete' + requires_python: '>=3.9' +- kind: pypi + name: pathspec + version: 0.12.1 + url: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl + sha256: a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 + requires_python: '>=3.8' +- kind: pypi + name: pbr + version: 6.1.0 + url: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl + sha256: a776ae228892d8013649c0aeccbb3d5f99ee15e005a4cbb7e61d55a067b28a2a + requires_python: '>=2.6' +- kind: pypi + name: pillow + version: 11.0.0 + url: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903 + requires_dist: + - furo ; extra == 'docs' + - olefile ; extra == 'docs' + - sphinx>=8.1 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - sphinx-inline-tabs ; extra == 'docs' + - sphinxext-opengraph ; extra == 'docs' + - olefile ; extra == 'fpx' + - olefile ; extra == 'mic' + - check-manifest ; extra == 'tests' + - coverage ; extra == 'tests' + - defusedxml ; extra == 'tests' + - markdown2 ; extra == 'tests' + - olefile ; extra == 'tests' + - packaging ; extra == 'tests' + - pyroma ; extra == 'tests' + - pytest ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - pytest-timeout ; extra == 'tests' + - typing-extensions ; python_full_version < '3.10' and extra == 'typing' + - defusedxml ; extra == 'xmp' + requires_python: '>=3.9' +- kind: conda + name: platformdirs + version: 4.3.6 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda + sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f + md5: fd8f2b18b65bbf62e8f653100690c8d2 + depends: + - python >=3.8 + license: MIT + license_family: MIT + purls: + - pkg:pypi/platformdirs?source=hash-mapping + size: 20625 + timestamp: 1726613611845 +- kind: pypi + name: pluggy + version: 1.5.0 + url: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl + sha256: 44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 + requires_dist: + - pre-commit ; extra == 'dev' + - tox ; extra == 'dev' + - pytest ; extra == 'testing' + - pytest-benchmark ; extra == 'testing' + requires_python: '>=3.8' +- kind: pypi + name: propcache + version: 0.2.0 + url: https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8 + requires_python: '>=3.8' +- kind: pypi + name: protobuf + version: 3.20.3 + url: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + sha256: a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db + requires_python: '>=3.7' +- kind: conda + name: psutil + version: 6.1.1 + build: py312hea69d52_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda + sha256: 90332053dad4056fe752217fa311ffa61cb37dc693b1721e37580e71a2a6fe04 + md5: 90724dac996a4e9d629a88a4b1ffe694 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/psutil?source=hash-mapping + size: 495397 + timestamp: 1735327574477 +- kind: pypi + name: pyarrow + version: 0.15.1 + url: https://files.pythonhosted.org/packages/e0/e6/d14b4a2b54ef065b1a2c576537abe805c1af0c94caef70d365e2d78fc528/pyarrow-0.15.1.tar.gz + sha256: 7ad074690ba38313067bf3bbda1258966d38e2037c035d08b9ffe3cce07747a5 + requires_dist: + - numpy>=1.14 + - six>=1.0.0 + - futures ; python_full_version < '3.2' + - enum34>=1.1.6 ; python_full_version < '3.4' +- kind: pypi + name: pyasn1 + version: 0.6.1 + url: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl + sha256: 0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 + requires_python: '>=3.8' +- kind: pypi + name: pyasn1-modules + version: 0.4.1 + url: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + sha256: 49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd + requires_dist: + - pyasn1>=0.4.6,<0.7.0 + requires_python: '>=3.8' +- kind: pypi + name: pydot + version: 1.4.2 + url: https://files.pythonhosted.org/packages/ea/76/75b1bb82e9bad3e3d656556eaa353d8cd17c4254393b08ec9786ac8ed273/pydot-1.4.2-py2.py3-none-any.whl + sha256: 66c98190c65b8d2e2382a441b4c0edfdb4f4c025ef9cb9874de478fb0793a451 + requires_dist: + - pyparsing>=2.1.4 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: pyink + version: 24.10.0 + url: https://files.pythonhosted.org/packages/93/72/37d76e26bc9cc5ffb90cd2c29adcf0476922e8d89da6061682298e231a3b/pyink-24.10.0-py3-none-any.whl + sha256: 98d5250e77a44e906d8fcbf10582ca12f2404a0d38dfe99320bf81ca08c418b9 + requires_dist: + - black==24.8.0 + - click>=8.0.0 + - mypy-extensions>=0.4.3 + - packaging>=22.0 + - pathspec>=0.9.0 + - platformdirs>=2 + - tomli>=1.1.0 ; python_full_version < '3.11' + - typing-extensions>=4.0.1 ; python_full_version < '3.11' + - colorama>=0.4.3 ; extra == 'colorama' + - ipython>=7.8.0 ; extra == 'jupyter' + - tokenize-rt>=3.2.0 ; extra == 'jupyter' + - uvloop>=0.15.2 ; extra == 'uvloop' + requires_python: '>=3.9' +- kind: pypi + name: pymongo + version: 3.13.0 + url: https://files.pythonhosted.org/packages/ec/ff/9b08f29b57384e1f55080d15a12ba4908d93d46cd7fe83c5c562fdcd3400/pymongo-3.13.0.tar.gz + sha256: e22d6cf5802cd09b674c307cc9e03870b8c37c503ebec3d25b86f2ce8c535dc7 + requires_dist: + - pymongo-auth-aws<2.0.0 ; extra == 'aws' + - pymongocrypt>=1.1.0,<2.0.0 ; extra == 'encryption' + - pykerberos ; extra == 'gssapi' + - pyopenssl>=17.2.0 ; extra == 'ocsp' + - requests<3.0.0 ; extra == 'ocsp' + - service-identity>=18.1.0 ; extra == 'ocsp' + - certifi ; extra == 'ocsp' + - python-snappy ; extra == 'snappy' + - dnspython>=1.16.0,<3.0.0 ; extra == 'srv' + - zstandard ; extra == 'zstd' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*' +- kind: pypi + name: pyparsing + version: 3.2.0 + url: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + sha256: 93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84 + requires_dist: + - railroad-diagrams ; extra == 'diagrams' + - jinja2 ; extra == 'diagrams' + requires_python: '>=3.9' +- kind: pypi + name: pyproj + version: 3.7.0 + url: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz + sha256: bf658f4aaf815d9d03c8121650b6f0b8067265c36e31bc6660b98ef144d81813 + requires_dist: + - certifi + requires_python: '>=3.10' +- kind: pypi + name: pytest + version: 8.3.3 + url: https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl + sha256: a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2 + requires_dist: + - iniconfig + - packaging + - pluggy>=1.5,<2 + - exceptiongroup>=1.0.0rc8 ; python_full_version < '3.11' + - tomli>=1 ; python_full_version < '3.11' + - colorama ; sys_platform == 'win32' + - argcomplete ; extra == 'dev' + - attrs>=19.2 ; extra == 'dev' + - hypothesis>=3.56 ; extra == 'dev' + - mock ; extra == 'dev' + - pygments>=2.7.2 ; extra == 'dev' + - requests ; extra == 'dev' + - setuptools ; extra == 'dev' + - xmlschema ; extra == 'dev' + requires_python: '>=3.8' +- kind: conda + name: python + version: 3.12.0 + build: h47c9636_0_cpython + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda + sha256: eb66f8f249caa9d5a956c3a407f079e4779d652ebfc2a4b4f50dcea078e84fa8 + md5: ed8ae98b1b510de68392971b9367d18c + depends: + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.5.0,<3.0a0 + - libffi >=3.4,<4.0a0 + - libsqlite >=3.43.0,<4.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - ncurses >=6.4,<7.0a0 + - openssl >=3.1.3,<4.0a0 + - readline >=8.2,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - xz >=5.2.6,<6.0a0 + constrains: + - python_abi 3.12.* *_cp312 + license: Python-2.0 + purls: [] + size: 13306758 + timestamp: 1696322682581 +- kind: conda + name: python-dateutil + version: 2.9.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + sha256: f3ceef02ac164a8d3a080d0d32f8e2ebe10dd29e3a685d240e38b3599e146320 + md5: 2cf4264fffb9e6eff6031c5b6884d61c + depends: + - python >=3.7 + - six >=1.5 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/python-dateutil?source=hash-mapping + size: 222742 + timestamp: 1709299922152 +- kind: conda + name: python_abi + version: '3.12' + build: 5_cp312 + build_number: 5 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + sha256: 49d624e4b809c799d2bf257b22c23cf3fc4460f5570d9a58e7ad86350aeaa1f4 + md5: b76f9b1c862128e56ac7aa8cd2333de9 + constrains: + - python 3.12.* *_cpython + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 6278 + timestamp: 1723823099686 +- kind: pypi + name: pytz + version: '2024.2' + url: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + sha256: 31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725 +- kind: pypi + name: pyyaml + version: 6.0.2 + url: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl + sha256: ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 + requires_python: '>=3.8' +- kind: pypi + name: rasterio + version: 1.4.2 + url: https://files.pythonhosted.org/packages/2e/48/fcd02399c7c4041c850b59c7cd80c309f7b87c86649e2bfb515d44ad061c/rasterio-1.4.2.tar.gz + sha256: 1be35ccb4d998a4c48fa51bbee9e37927ecd9b9e954a2b2581b8f3e9bb165332 + requires_dist: + - affine + - attrs + - certifi + - click>=4.0 + - cligj>=0.5 + - numpy>=1.24 + - click-plugins + - pyparsing + - importlib-metadata ; python_full_version < '3.10' + - sphinx ; extra == 'all' + - pytest-cov>=2.2.0 ; extra == 'all' + - packaging ; extra == 'all' + - pytest>=2.8.2 ; extra == 'all' + - boto3>=1.2.4 ; extra == 'all' + - matplotlib ; extra == 'all' + - ghp-import ; extra == 'all' + - numpydoc ; extra == 'all' + - ipython>=2.0 ; extra == 'all' + - sphinx-click ; extra == 'all' + - hypothesis ; extra == 'all' + - fsspec ; extra == 'all' + - sphinx-rtd-theme ; extra == 'all' + - shapely ; extra == 'all' + - ghp-import ; extra == 'docs' + - numpydoc ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-click ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - ipython>=2.0 ; extra == 'ipython' + - matplotlib ; extra == 'plot' + - boto3>=1.2.4 ; extra == 's3' + - boto3>=1.2.4 ; extra == 'test' + - fsspec ; extra == 'test' + - hypothesis ; extra == 'test' + - packaging ; extra == 'test' + - pytest-cov>=2.2.0 ; extra == 'test' + - pytest>=2.8.2 ; extra == 'test' + - shapely ; extra == 'test' + requires_python: '>=3.9' +- kind: conda + name: readline + version: '8.2' + build: h92ec313_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda + sha256: a1dfa679ac3f6007362386576a704ad2d0d7a02e98f5d0b115f207a2da63e884 + md5: 8cbb776a2f641b943d413b3e19df71f4 + depends: + - ncurses >=6.3,<7.0a0 + license: GPL-3.0-only + license_family: GPL + purls: [] + size: 250351 + timestamp: 1679532511311 +- kind: pypi + name: rechunker + version: 0.5.2 + url: https://files.pythonhosted.org/packages/34/83/a485250bc09db55e4b4389d99e583fac871ceeaaa4620b67a31d8db95ef5/rechunker-0.5.2-py3-none-any.whl + sha256: e09585d69b429ae466470047a2b828f003c123dffe6a265720c0ab0ca78f4937 + requires_dist: + - dask[array,diagnostics] + - mypy-extensions + - zarr>=2.11 + - apache-beam ; extra == 'complete' + - fsspec ; extra == 'complete' + - prefect<2 ; extra == 'complete' + - pyyaml ; extra == 'complete' + - xarray>=2022.3 ; extra == 'complete' + - black ; extra == 'dev' + - codecov ; extra == 'dev' + - flake8 ; extra == 'dev' + - hypothesis ; extra == 'dev' + - ipython ; extra == 'dev' + - mypy==0.782 ; extra == 'dev' + - nbsphinx ; extra == 'dev' + - numpydoc ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - sphinx ; extra == 'dev' + - sphinx-pangeo-theme ; extra == 'dev' + - sphinxcontrib-srclinks ; extra == 'dev' + - ipython ; extra == 'docs' + - nbsphinx ; extra == 'docs' + - numpydoc ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-pangeo-theme ; extra == 'docs' + - sphinxcontrib-srclinks ; extra == 'docs' + - hypothesis ; extra == 'test' + - pytest ; extra == 'test' + requires_python: '>=3.8' +- kind: pypi + name: requests + version: 2.32.3 + url: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl + sha256: 70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 + requires_dist: + - charset-normalizer>=2,<4 + - idna>=2.5,<4 + - urllib3>=1.21.1,<3 + - certifi>=2017.4.17 + - pysocks>=1.5.6,!=1.5.7 ; extra == 'socks' + - chardet>=3.0.2,<6 ; extra == 'use-chardet-on-py3' + requires_python: '>=3.8' +- kind: pypi + name: requests-oauthlib + version: 2.0.0 + url: https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl + sha256: 7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36 + requires_dist: + - oauthlib>=3.0.0 + - requests>=2.0.0 + - oauthlib[signedtoken]>=3.0.0 ; extra == 'rsa' + requires_python: '>=3.4' +- kind: pypi + name: rioxarray + version: 0.18.1 + url: https://files.pythonhosted.org/packages/aa/b7/a881b08bb24ae15bd3644b313244d89b0eb50d88dbda577ce72e5e3e4be4/rioxarray-0.18.1-py3-none-any.whl + sha256: 64cc571807204afc1ffaf5f9a0a2640dccb1e2edd602d952a3c65153b6645540 + requires_dist: + - packaging + - rasterio>=1.3.7 + - xarray>=2024.7.0 + - pyproj>=3.3 + - numpy>=1.23 + - scipy ; extra == 'all' + - scipy ; extra == 'interp' + requires_python: '>=3.10' +- kind: pypi + name: rsa + version: '4.9' + url: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl + sha256: 90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 + requires_dist: + - pyasn1>=0.1.3 + requires_python: '>=3.6,<4' +- kind: pypi + name: setuptools + version: 75.6.0 + url: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + sha256: ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d + requires_dist: + - pytest>=6,!=8.1.* ; extra == 'test' + - virtualenv>=13.0.0 ; extra == 'test' + - wheel>=0.44.0 ; extra == 'test' + - pip>=19.1 ; extra == 'test' + - packaging>=24.2 ; extra == 'test' + - jaraco-envs>=2.2 ; extra == 'test' + - pytest-xdist>=3 ; extra == 'test' + - jaraco-path>=3.2.0 ; extra == 'test' + - build[virtualenv]>=1.0.3 ; extra == 'test' + - filelock>=3.4.0 ; extra == 'test' + - ini2toml[lite]>=0.14 ; extra == 'test' + - tomli-w>=1.0.0 ; extra == 'test' + - pytest-timeout ; extra == 'test' + - pytest-perf ; sys_platform != 'cygwin' and extra == 'test' + - jaraco-develop>=7.21 ; python_full_version >= '3.9' and sys_platform != 'cygwin' and extra == 'test' + - pytest-home>=0.5 ; extra == 'test' + - pytest-subprocess ; extra == 'test' + - pyproject-hooks!=1.1 ; extra == 'test' + - jaraco-test>=5.5 ; extra == 'test' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pygments-github-lexers==0.0.5 ; extra == 'doc' + - sphinx-favicon ; extra == 'doc' + - sphinx-inline-tabs ; extra == 'doc' + - sphinx-reredirects ; extra == 'doc' + - sphinxcontrib-towncrier ; extra == 'doc' + - sphinx-notfound-page>=1,<2 ; extra == 'doc' + - pyproject-hooks!=1.1 ; extra == 'doc' + - towncrier<24.7 ; extra == 'doc' + - packaging>=24.2 ; extra == 'core' + - more-itertools>=8.8 ; extra == 'core' + - jaraco-text>=3.7 ; extra == 'core' + - importlib-metadata>=6 ; python_full_version < '3.10' and extra == 'core' + - tomli>=2.0.1 ; python_full_version < '3.11' and extra == 'core' + - wheel>=0.43.0 ; extra == 'core' + - platformdirs>=4.2.2 ; extra == 'core' + - jaraco-collections ; extra == 'core' + - jaraco-functools>=4 ; extra == 'core' + - packaging ; extra == 'core' + - more-itertools ; extra == 'core' + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - ruff>=0.7.0 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest-mypy ; extra == 'type' + - mypy>=1.12,<1.14 ; extra == 'type' + - importlib-metadata>=7.0.2 ; python_full_version < '3.10' and extra == 'type' + - jaraco-develop>=7.21 ; sys_platform != 'cygwin' and extra == 'type' + requires_python: '>=3.9' +- kind: conda + name: six + version: 1.16.0 + build: pyh6c4a22f_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 + md5: e5f25f8dbc060e9a8d912e432202afc2 + depends: + - python + license: MIT + license_family: MIT + purls: + - pkg:pypi/six?source=hash-mapping + size: 14259 + timestamp: 1620240338595 +- kind: pypi + name: sortedcontainers + version: 2.4.0 + url: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + sha256: a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0 +- kind: pypi + name: tblib + version: 3.0.0 + url: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl + sha256: 80a6c77e59b55e83911e1e607c649836a69c103963c5f28a46cbeef44acf8129 + requires_python: '>=3.8' +- kind: conda + name: tk + version: 8.6.13 + build: h5083fa2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + sha256: 72457ad031b4c048e5891f3f6cb27a53cb479db68a52d965f796910e71a403a8 + md5: b50a57ba89c32b62428b71a875291c9b + depends: + - libzlib >=1.2.13,<2.0.0a0 + license: TCL + license_family: BSD + purls: [] + size: 3145523 + timestamp: 1699202432999 +- kind: pypi + name: toolz + version: 1.0.0 + url: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl + sha256: 292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236 + requires_python: '>=3.8' +- kind: conda + name: tornado + version: 6.4.2 + build: py312hea69d52_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda + sha256: 964a2705a36c50040c967b18b45b9cc8de3c2aff4af546979a574e0b38e58e39 + md5: fb0605888a475d6a380ae1d1a819d976 + depends: + - __osx >=11.0 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + purls: + - pkg:pypi/tornado?source=hash-mapping + size: 842549 + timestamp: 1732616081362 +- kind: conda + name: typing_extensions + version: 4.12.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda + sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb + md5: ebe6952715e1d5eb567eeebf25250fa7 + depends: + - python >=3.8 + license: PSF-2.0 + license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=hash-mapping + size: 39888 + timestamp: 1717802653893 +- kind: pypi + name: tzdata + version: '2024.2' + url: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl + sha256: a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd + requires_python: '>=2' +- kind: conda + name: tzdata + version: 2024b + build: hc8b5060_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda + sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf + md5: 8ac3367aafb1cc0a068483c580af8015 + license: LicenseRef-Public-Domain + purls: [] + size: 122354 + timestamp: 1728047496079 +- kind: pypi + name: uritemplate + version: 3.0.1 + url: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl + sha256: 07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: urllib3 + version: 2.2.3 + url: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl + sha256: ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac + requires_dist: + - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli' + - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' + - h2>=4,<5 ; extra == 'h2' + - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' + - zstandard>=0.18.0 ; extra == 'zstd' + requires_python: '>=3.8' +- kind: pypi + name: xarray + version: 2024.10.0 + url: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + sha256: ae1d38cb44a0324dfb61e492394158ae22389bf7de9f3c174309c17376df63a0 + requires_dist: + - numpy>=1.24 + - packaging>=23.1 + - pandas>=2.1 + - scipy ; extra == 'accel' + - bottleneck ; extra == 'accel' + - numbagg ; extra == 'accel' + - numba>=0.54 ; extra == 'accel' + - flox ; extra == 'accel' + - opt-einsum ; extra == 'accel' + - xarray[accel,etc,io,parallel,viz] ; extra == 'complete' + - hypothesis ; extra == 'dev' + - mypy ; extra == 'dev' + - pre-commit ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - pytest-env ; extra == 'dev' + - pytest-xdist ; extra == 'dev' + - pytest-timeout ; extra == 'dev' + - ruff ; extra == 'dev' + - sphinx ; extra == 'dev' + - sphinx-autosummary-accessors ; extra == 'dev' + - xarray[complete] ; extra == 'dev' + - sparse ; extra == 'etc' + - netcdf4 ; extra == 'io' + - h5netcdf ; extra == 'io' + - scipy ; extra == 'io' + - zarr ; extra == 'io' + - fsspec ; extra == 'io' + - cftime ; extra == 'io' + - pooch ; extra == 'io' + - pydap ; python_full_version < '3.10' and extra == 'io' + - dask[complete] ; extra == 'parallel' + - cartopy ; extra == 'viz' + - matplotlib ; extra == 'viz' + - nc-time-axis ; extra == 'viz' + - seaborn ; extra == 'viz' + requires_python: '>=3.10' +- kind: pypi + name: xarray-beam + version: 0.0.1 + url: https://files.pythonhosted.org/packages/72/f4/797f3e15cd1136d3f530baec0e06a0c700339b55b96e9420b28324c60c73/xarray_beam-0.0.1-py3-none-any.whl + sha256: 20f089420b71105f77be9b312514092eab68941818548b6c9bd1c49d447c20ff + requires_dist: + - apache-beam + - dask + - rechunker + - zarr + - xarray + requires_python: '>=3' +- kind: pypi + name: xee + version: 0.0.21.dev7+g4ba0259.d20250203 + path: . + sha256: 8199673c3344c561e099788ada64f45ca20038c3756f42b330664b30d60e551a + requires_dist: + - xarray[parallel] + - earthengine-api>=0.1.374 + - pyproj + - affine + - absl-py ; extra == 'tests' + - pytest ; extra == 'tests' + - pyink ; extra == 'tests' + - rasterio ; extra == 'tests' + - rioxarray ; extra == 'tests' + - absl-py ; extra == 'dataflow' + - apache-beam[gcp] ; extra == 'dataflow' + - gcsfs<=2024.2.0 ; extra == 'dataflow' + - xarray-beam ; extra == 'dataflow' + - xee[dataflow] ; extra == 'examples' + requires_python: '>=3.8' + editable: true +- kind: conda + name: xz + version: 5.2.6 + build: h57fd34a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec + md5: 39c6b54e94014701dd157f4f576ed211 + license: LGPL-2.1 and GPL-2.0 + purls: [] + size: 235693 + timestamp: 1660346961024 +- kind: pypi + name: yarl + version: 1.17.1 + url: https://files.pythonhosted.org/packages/e3/a2/b65447626227ebe36f18f63ac551790068bf42c69bb22dfa3ae986170728/yarl-1.17.1-cp312-cp312-macosx_11_0_arm64.whl + sha256: c73df5b6e8fabe2ddb74876fb82d9dd44cbace0ca12e8861ce9155ad3c886139 + requires_dist: + - idna>=2.0 + - multidict>=4.0 + - propcache>=0.2.0 + requires_python: '>=3.9' +- kind: pypi + name: zarr + version: 2.18.4 + url: https://files.pythonhosted.org/packages/b4/d1/c84022a44afc7b7ccc442fba3daee56bdd03593d91ee4bc245a08e4fcc55/zarr-2.18.4-py3-none-any.whl + sha256: 2795e20aff91093ce7e4da36ab1a138aededbd8ab66bf01fd01512e61d31e5d1 + requires_dist: + - asciitree + - numpy>=1.24 + - fasteners ; sys_platform != 'emscripten' + - numcodecs>=0.10.0,!=0.14.0,!=0.14.1 + - notebook ; extra == 'jupyter' + - ipytree>=0.2.2 ; extra == 'jupyter' + - ipywidgets>=8.0.0 ; extra == 'jupyter' + - sphinx ; extra == 'docs' + - sphinx-automodapi ; extra == 'docs' + - sphinx-design ; extra == 'docs' + - sphinx-issues ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - numpydoc ; extra == 'docs' + - numcodecs[msgpack]!=0.14.0,!=0.14.1 ; extra == 'docs' + - pytest-doctestplus ; extra == 'docs' + requires_python: '>=3.11' +- kind: pypi + name: zict + version: 3.0.0 + url: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + sha256: 5796e36bd0e0cc8cf0fbc1ace6a68912611c1dbd74750a3f3026b9b9d6a327ae + requires_python: '>=3.8' diff --git a/pyproject.toml b/pyproject.toml index 48cd94a..3da1375 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,5 +65,23 @@ preview = true pyink-indentation = 2 pyink-use-majority-quotes = true +[tool.setuptools] +packages = ["xee"] + [tool.setuptools_scm] fallback_version = "9999" + +[tool.pixi.project] +channels = ["conda-forge"] +platforms = ["osx-arm64"] + +[tool.pixi.pypi-dependencies] +xee = { path = ".", editable = true } + +[tool.pixi.environments] +default = { solve-group = "default" } +dataflow = { features = ["dataflow"], solve-group = "default" } +examples = { features = ["examples", "dataflow"], solve-group = "default" } +tests = { features = ["tests"], solve-group = "default" } + +[tool.pixi.tasks] From 0dbd2504564c5d53a9538df2fb190b8578bdf178 Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Mon, 3 Feb 2025 12:00:54 -0800 Subject: [PATCH 08/11] limit to python<3.13; add proj, gdal as dependencies --- pixi.lock | 4063 ++++++++++++++++++++++++++++++++++++------------ pyproject.toml | 6 +- 2 files changed, 3093 insertions(+), 976 deletions(-) diff --git a/pixi.lock b/pixi.lock index 7f7b146..159c81e 100644 --- a/pixi.lock +++ b/pixi.lock @@ -7,125 +7,219 @@ environments: - https://pypi.org/simple packages: osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aom-3.9.1-h7bae524_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.7.7-h3b16cec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libavif16-1.1.1-h45b7238_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-28_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-28_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.11.1-h73640d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.7-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libde265-1.0.15-h2ffa867_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.23-hec38601_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.1-h9ef0d2d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libheif-1.19.5-gpl_h297b2c4_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.0.0-hb547adb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-he250239_1021.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-28_hc9a63f6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.46-h3783ad8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha2cf0f4_17.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hf92fc0a_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.48.0-h3f77e49_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h9cc3647_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.0-h551f018_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.5.0-h2471fea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h178c5d8_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.7-hdb05f8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h93a5062_1001.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.7-hff1a8ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-h98b9ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4c/c6/2ea8c333f6c26cc48eb35e7bc369124ece9591bb8ef236cf72cb568da4f7/aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/07/06f8eff85d93194ce4fe4281d7ba970fe46944463cd977f26fdf4b63017a/apache-beam-2.17.0.zip - - pypi: https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz - - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cc/97/7a6970380ca8db9139a3cc0b0e3e0dd3e4bc584fb3644e1d06e71e1a55f0/avro-python3-1.10.2.tar.gz - - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5a/a6/789e1f17a1b6f4a38939fbc39d29e1d960d5f89f73d0629a939410171bc0/aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/1c/f1efde858d0a750f16e5bd0a9e16a04d44a6c7f25e13307d5e1834841e33/apache_beam-2.62.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/12/2c266a0dc57379c60b4e73a2f93e71343db4170bf26c5a76a74e7d8bce2a/bokeh-3.6.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl + - pypi: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/0b/7d/5ff9904046ad15a08772515db19df43107bf5e3901a89c36a577b5f40ba0/crc32c-2.7.1-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b/crcmod-1.7.tar.gz - - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/39/7a/70803635c850e351257029089d38748516a280864c97cbc73087afef6d51/dill-0.3.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/47/136a5dd68a33089f96f8aa1178ccd545d325ec9ab2bb42a3038711a935c0/dask-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2c/e3/cf7a05892b04b22b9e28ec25f8bc2acaa0304bf3128f76031e4363b63e21/dask_expr-1.1.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf02403fff250a3360e0e118a1630985e547d/dill-0.3.1.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/95/8a/d828dea3a1b6d7e796bebd8c64dc40d44d9a60762f759a11a61386eb38b5/distributed-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz - - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/7b/15d6af265fc01bf7ab93e7dc823b3f8dd8a6c56420999207446b7d2de997/fastavro-0.21.24.tar.gz + - pypi: https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/12/63ed9f3baa44816c47bfeeebf820083d89245a2d382940263a9fc8e51754/earthengine_api-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9c/a4/8e69c0a5cd121e5d476237de1bde5a7947f791ae45768ae52ed0d3ea8d18/fastavro-1.10.0-cp312-cp312-macosx_10_13_universal2.whl - pypi: https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec/future-0.18.3.tar.gz - - pypi: https://files.pythonhosted.org/packages/5b/18/f40a808abb7ce9aaf8a2143b699dd0b246e61ea590ce55810ceae45610ed/gcsfs-2024.2.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7f/32/df3e36fd705a00092f1ffa9f41ce1df8dcb594ae313d239b87861a41fc2e/google-apitools-0.5.28.tar.gz - - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/04/74/8a2664dc7b5494ebef67f876467d7a2336810affcd0b9f7cf325631314ac/google_auth_oauthlib-0.5.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d7/72/e88edd9a0b3c16a7b2c4107b1a9d3ff182b84a29f051ae15293e1375d7fe/google_cloud_bigquery-1.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/95/af/0ef7d097a1d5ad0c843867600e86de915e8ab8864740f49a4636cfb51af6/google_cloud_bigtable-1.0.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d0/aa/29cbcf8cf7d08ce2d55b9dce858f7c632b434cb6451bed17cb4275804217/google_cloud_datastore-1.7.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d3/91/07a82945a7396ea34debafd476724bb5fc267c292790fdf2138c693f95c5/google_cloud_pubsub-1.0.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6e/49/2dbc00f89ab9e7513faee7927ea0c649d68eb721108aee860380eaf86ff4/gcsfs-0.8.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/19/da/aefc4cf4c168b5d875344cd9dddc77e3a2d11986b630251af5ce47dd2843/google-apitools-0.5.31.tar.gz + - pypi: https://files.pythonhosted.org/packages/b1/a6/8e30ddfd3d39ee6d2c76d3d4f64a83f77ac86a4cab67b286ae35ce9e4369/google_api_core-2.24.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/35/41623ac3b581781169eed7f5fcd24bc114c774dc491fab5c05d8eb81af36/google_api_python_client-2.160.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/47/603554949a37bca5b7f894d51896a9c534b9eab808e2520a748e081669d0/google_auth-2.38.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1a/8e/22a28dfbd218033e4eeaf3a0533b2b54852b6530da0c0fe934f0cc494b29/google_auth_oauthlib-1.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d9/df/a7629fc1c405ead82249a70903068992932cc5a8c494c396e22995b4429d/google_cloud_aiplatform-1.79.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/68/60/9e1430f0fe17f8e8e931eff468021516f74f2573f261221529767dd59591/google_cloud_bigquery-3.29.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9f/ed/b7a74ae48435854ec2352f58c21e358df14458bafe4b0d237a8649326f9c/google_cloud_bigquery_storage-2.27.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f7/92/1a1e082cbc3a233b9ea4861b0124a1e8a37d6c59904e25f090e1a6038769/google_cloud_bigtable-2.28.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/0f/2e2061e3fbcb9d535d5da3f58cc8de4947df1786fe6a1355960feb05a681/google_cloud_core-2.4.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c6/0f/7af12d058dc907663a0d97fc268f02ebcecb31ca963e0d6ef439d65e09c4/google_cloud_datastore-2.20.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/41/d9b818387c56bf96d0d03a076c0407f39eb64b9cae61c45af18820457f86/google_cloud_dlp-3.26.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e3/43/c103ffae8069d1e1da9e05fb0116a654a215b62b8585e4f916b2a68ed328/google_cloud_language-2.16.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b9/33/07636ce3dd59016ab88b98fbb9e614c76d8f210f5c8feec2db5891f6dc5d/google_cloud_pubsub-2.28.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/03/8b/f0cd7f3b16fe8ab0f449868b5d62868d7c03cd10326acd3472476305c2e3/google_cloud_pubsublite-1.11.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/ed/c579fa8f48fb070ed50b3de4a9b72b3909197c57735b5b45cd977504d043/google_cloud_recommendations_ai-0.10.15-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/64/c4/2275ca35419f9a2ae66846f389490b356856bf55a9ad9f95a88399a89294/google_cloud_resource_manager-1.14.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cc/b0/b0328d320d80d6963e7c4eb1e07a40d791f2c2847cda6af033141b02852a/google_cloud_spanner-3.51.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/1a/108e7867b28c93274812ac8107202d93e338f9d190a05f877d41ce86391e/google_cloud_videointelligence-2.15.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/53/54440af12f0b198c8402c1b104a5dd955d49cd71ac4cd5d4a10a3c58a301/google_cloud_vision-3.9.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5f/4b/404f59d065a410e835576433bc296599ae093460c7724fa5d5ca2354a885/grpc_google_iam_v1-0.12.7-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl - - pypi: https://files.pythonhosted.org/packages/14/32/754cd4474790239c7436a7a9490bc0c4a0a2ed604cb9a940151a3b1055b9/grpcio_status-1.48.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/b4/ab54f7fda4af43ca5c094bc1d6341780fd669c44ae18952b5337029b1d98/grpc_google_iam_v1-0.14.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/ac/8d53f230a7443401ce81791ec50a3b0e54924bf615ad287654fa4a2f5cdc/grpc_interceptor-0.15.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/8c/35a8d0f7135dbeb87f522ec743cd06423dba8eaec6c891f9466b0f46284c/grpcio-1.65.5-cp312-cp312-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/9e/05/b21346efcf5bc01e3747ba6732f2f17bd04703f6a9a8a4ed8ff18119ebf0/grpcio_status-1.65.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/29/c7/1be559eb10cb7cac0d26373f18656c8037553619ddd4098e50b04ea8b4ab/hdfs-2.7.3.tar.gz - - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/59/56/25ca7b848164b7d93dbd5fc97dd7751700c93e324fe854afbeb562ee2f98/immutabledict-4.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/a3/e610ae0feba3e7374da08ab6cc9bb76c8bfa84b4e502aa357bda0ef6dcae/jsonpickle-3.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dc/a0/9698d906772b8c445f502e30c9408314998b29a0ee9fb22d849433a8146b/keyrings.google_artifactregistry_auth-1.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/c0/7b/bc893e35d6ca46a72faa4b9eaac25c687ce60e1fbe978993fe2de1b0ff0d/oauth2client-3.0.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/b7/62/9dd265a57c75df0dda3885c28b8880ec711245febe006434fa78b6b69c86/numcodecs-0.15.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/95/a9/4f25a14d23f0786b64875b91784607c2277eff25d48f915e39ff0cff505a/oauth2client-4.1.3-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/a7/55f8f3853a4a654d3a6fbf63e646e0b469b52c174703a10db70a1cb06c7e/objsize-0.7.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/43/53/5249ea860d417a26a3a6f1bdedfc0748c4f081a3adaec3d398bc0f7c6a71/opentelemetry_api-1.29.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d1/1d/512b86af21795fb463726665e2f61db77d384e8779fdcf4cb0ceec47866d/opentelemetry_sdk-1.29.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/fb/dc15fad105450a015e913cfa4f5c27b6a5f1bea8fb649f8cae11e699c8af/opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e0/e6/d14b4a2b54ef065b1a2c576537abe805c1af0c94caef70d365e2d78fc528/pyarrow-0.15.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4a/de/bbe712f94d088da1d237c35d735f675e494a816fd6f54e9db2f61ef4d03f/propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9b/73/560ef6bf05f16305502b8e368c771e8f82d774898b37a3fb231f89c13342/pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e4/f4/9ec2222f5f5f8ea04f66f184caafd991a39c8782e31f5b0266f101cb68ca/pyarrow_hotfix-0.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/ea/76/75b1bb82e9bad3e3d656556eaa353d8cd17c4254393b08ec9786ac8ed273/pydot-1.4.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ec/ff/9b08f29b57384e1f55080d15a12ba4908d93d46cd7fe83c5c562fdcd3400/pymongo-3.13.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/00/e3/471839c8705ae024d6eb3af65bd2fac85b33561c04048ff846d22d5ed9d4/pymongo-4.11-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/34/83/a485250bc09db55e4b4389d99e583fac871ceeaaa4620b67a31d8db95ef5/rechunker-0.5.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/72/f4/797f3e15cd1136d3f530baec0e06a0c700339b55b96e9420b28324c60c73/xarray_beam-0.0.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e3/a2/b65447626227ebe36f18f63ac551790068bf42c69bb22dfa3ae986170728/yarl-1.17.1-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/b4/d1/c84022a44afc7b7ccc442fba3daee56bdd03593d91ee4bc245a08e4fcc55/zarr-2.18.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/47/dd03fd2b5ae727e16d5d18919b383959c6d269c7b948a380fdd879518640/ujson-5.10.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/05/79/4e19100342fe13d69fd6e77b343e2269924fec681258e2ea21b55576aad2/xarray-2025.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/40/7d/01fea08d4dcb21d41cc6a69ee1106866dd4ee90b91f501416ad892e4e12f/xarray_beam-0.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/6e/49408735dae940a0c1c225c6b908fd83bd6e3f5fae120f865754e72f78cb/xyzservices-2025.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/27/83/4316503558c57a2d1928afaf0e77f47cf00d394347c88aaafbf0efaf5685/zarr-3.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: . default: channels: @@ -134,80 +228,133 @@ environments: - https://pypi.org/simple packages: osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aom-3.9.1-h7bae524_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.7.7-h3b16cec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libavif16-1.1.1-h45b7238_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-28_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-28_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.11.1-h73640d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.7-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libde265-1.0.15-h2ffa867_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.23-hec38601_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.1-h9ef0d2d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libheif-1.19.5-gpl_h297b2c4_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.0.0-hb547adb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-he250239_1021.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-28_hc9a63f6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.46-h3783ad8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha2cf0f4_17.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hf92fc0a_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.48.0-h3f77e49_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h9cc3647_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.0-h551f018_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.5.0-h2471fea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h178c5d8_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.7-hdb05f8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h93a5062_1001.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.7-hff1a8ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-h98b9ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/56/12/2c266a0dc57379c60b4e73a2f93e71343db4170bf26c5a76a74e7d8bce2a/bokeh-3.6.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl + - pypi: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/db/47/136a5dd68a33089f96f8aa1178ccd545d325ec9ab2bb42a3038711a935c0/dask-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2c/e3/cf7a05892b04b22b9e28ec25f8bc2acaa0304bf3128f76031e4363b63e21/dask_expr-1.1.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/95/8a/d828dea3a1b6d7e796bebd8c64dc40d44d9a60762f759a11a61386eb38b5/distributed-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/12/63ed9f3baa44816c47bfeeebf820083d89245a2d382940263a9fc8e51754/earthengine_api-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b1/a6/8e30ddfd3d39ee6d2c76d3d4f64a83f77ac86a4cab67b286ae35ce9e4369/google_api_core-2.24.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/35/41623ac3b581781169eed7f5fcd24bc114c774dc491fab5c05d8eb81af36/google_api_python_client-2.160.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/47/603554949a37bca5b7f894d51896a9c534b9eab808e2520a748e081669d0/google_auth-2.38.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/0f/2e2061e3fbcb9d535d5da3f58cc8de4947df1786fe6a1355960feb05a681/google_cloud_core-2.4.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9b/73/560ef6bf05f16305502b8e368c771e8f82d774898b37a3fb231f89c13342/pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e4/f4/9ec2222f5f5f8ea04f66f184caafd991a39c8782e31f5b0266f101cb68ca/pyarrow_hotfix-0.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/05/79/4e19100342fe13d69fd6e77b343e2269924fec681258e2ea21b55576aad2/xarray-2025.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/6e/49408735dae940a0c1c225c6b908fd83bd6e3f5fae120f865754e72f78cb/xyzservices-2025.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl - pypi: . examples: @@ -217,125 +364,219 @@ environments: - https://pypi.org/simple packages: osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aom-3.9.1-h7bae524_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.7.7-h3b16cec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libavif16-1.1.1-h45b7238_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-28_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-28_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.11.1-h73640d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.7-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libde265-1.0.15-h2ffa867_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.23-hec38601_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.1-h9ef0d2d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libheif-1.19.5-gpl_h297b2c4_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.0.0-hb547adb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-he250239_1021.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-28_hc9a63f6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.46-h3783ad8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha2cf0f4_17.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hf92fc0a_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.48.0-h3f77e49_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h9cc3647_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.0-h551f018_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.5.0-h2471fea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h178c5d8_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.7-hdb05f8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h93a5062_1001.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.7-hff1a8ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-h98b9ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4c/c6/2ea8c333f6c26cc48eb35e7bc369124ece9591bb8ef236cf72cb568da4f7/aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/07/06f8eff85d93194ce4fe4281d7ba970fe46944463cd977f26fdf4b63017a/apache-beam-2.17.0.zip - - pypi: https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz - - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cc/97/7a6970380ca8db9139a3cc0b0e3e0dd3e4bc584fb3644e1d06e71e1a55f0/avro-python3-1.10.2.tar.gz - - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5a/a6/789e1f17a1b6f4a38939fbc39d29e1d960d5f89f73d0629a939410171bc0/aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/1c/f1efde858d0a750f16e5bd0a9e16a04d44a6c7f25e13307d5e1834841e33/apache_beam-2.62.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/56/12/2c266a0dc57379c60b4e73a2f93e71343db4170bf26c5a76a74e7d8bce2a/bokeh-3.6.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl + - pypi: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/0b/7d/5ff9904046ad15a08772515db19df43107bf5e3901a89c36a577b5f40ba0/crc32c-2.7.1-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b/crcmod-1.7.tar.gz - - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/39/7a/70803635c850e351257029089d38748516a280864c97cbc73087afef6d51/dill-0.3.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/db/47/136a5dd68a33089f96f8aa1178ccd545d325ec9ab2bb42a3038711a935c0/dask-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2c/e3/cf7a05892b04b22b9e28ec25f8bc2acaa0304bf3128f76031e4363b63e21/dask_expr-1.1.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf02403fff250a3360e0e118a1630985e547d/dill-0.3.1.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/95/8a/d828dea3a1b6d7e796bebd8c64dc40d44d9a60762f759a11a61386eb38b5/distributed-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz - - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/85/7b/15d6af265fc01bf7ab93e7dc823b3f8dd8a6c56420999207446b7d2de997/fastavro-0.21.24.tar.gz + - pypi: https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/12/63ed9f3baa44816c47bfeeebf820083d89245a2d382940263a9fc8e51754/earthengine_api-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9c/a4/8e69c0a5cd121e5d476237de1bde5a7947f791ae45768ae52ed0d3ea8d18/fastavro-1.10.0-cp312-cp312-macosx_10_13_universal2.whl - pypi: https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec/future-0.18.3.tar.gz - - pypi: https://files.pythonhosted.org/packages/5b/18/f40a808abb7ce9aaf8a2143b699dd0b246e61ea590ce55810ceae45610ed/gcsfs-2024.2.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7f/32/df3e36fd705a00092f1ffa9f41ce1df8dcb594ae313d239b87861a41fc2e/google-apitools-0.5.28.tar.gz - - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/04/74/8a2664dc7b5494ebef67f876467d7a2336810affcd0b9f7cf325631314ac/google_auth_oauthlib-0.5.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d7/72/e88edd9a0b3c16a7b2c4107b1a9d3ff182b84a29f051ae15293e1375d7fe/google_cloud_bigquery-1.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/95/af/0ef7d097a1d5ad0c843867600e86de915e8ab8864740f49a4636cfb51af6/google_cloud_bigtable-1.0.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d0/aa/29cbcf8cf7d08ce2d55b9dce858f7c632b434cb6451bed17cb4275804217/google_cloud_datastore-1.7.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/d3/91/07a82945a7396ea34debafd476724bb5fc267c292790fdf2138c693f95c5/google_cloud_pubsub-1.0.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6e/49/2dbc00f89ab9e7513faee7927ea0c649d68eb721108aee860380eaf86ff4/gcsfs-0.8.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/19/da/aefc4cf4c168b5d875344cd9dddc77e3a2d11986b630251af5ce47dd2843/google-apitools-0.5.31.tar.gz + - pypi: https://files.pythonhosted.org/packages/b1/a6/8e30ddfd3d39ee6d2c76d3d4f64a83f77ac86a4cab67b286ae35ce9e4369/google_api_core-2.24.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/35/41623ac3b581781169eed7f5fcd24bc114c774dc491fab5c05d8eb81af36/google_api_python_client-2.160.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/47/603554949a37bca5b7f894d51896a9c534b9eab808e2520a748e081669d0/google_auth-2.38.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1a/8e/22a28dfbd218033e4eeaf3a0533b2b54852b6530da0c0fe934f0cc494b29/google_auth_oauthlib-1.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d9/df/a7629fc1c405ead82249a70903068992932cc5a8c494c396e22995b4429d/google_cloud_aiplatform-1.79.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/68/60/9e1430f0fe17f8e8e931eff468021516f74f2573f261221529767dd59591/google_cloud_bigquery-3.29.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9f/ed/b7a74ae48435854ec2352f58c21e358df14458bafe4b0d237a8649326f9c/google_cloud_bigquery_storage-2.27.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f7/92/1a1e082cbc3a233b9ea4861b0124a1e8a37d6c59904e25f090e1a6038769/google_cloud_bigtable-2.28.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/0f/2e2061e3fbcb9d535d5da3f58cc8de4947df1786fe6a1355960feb05a681/google_cloud_core-2.4.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c6/0f/7af12d058dc907663a0d97fc268f02ebcecb31ca963e0d6ef439d65e09c4/google_cloud_datastore-2.20.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/41/d9b818387c56bf96d0d03a076c0407f39eb64b9cae61c45af18820457f86/google_cloud_dlp-3.26.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e3/43/c103ffae8069d1e1da9e05fb0116a654a215b62b8585e4f916b2a68ed328/google_cloud_language-2.16.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b9/33/07636ce3dd59016ab88b98fbb9e614c76d8f210f5c8feec2db5891f6dc5d/google_cloud_pubsub-2.28.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/03/8b/f0cd7f3b16fe8ab0f449868b5d62868d7c03cd10326acd3472476305c2e3/google_cloud_pubsublite-1.11.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3a/ed/c579fa8f48fb070ed50b3de4a9b72b3909197c57735b5b45cd977504d043/google_cloud_recommendations_ai-0.10.15-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/64/c4/2275ca35419f9a2ae66846f389490b356856bf55a9ad9f95a88399a89294/google_cloud_resource_manager-1.14.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cc/b0/b0328d320d80d6963e7c4eb1e07a40d791f2c2847cda6af033141b02852a/google_cloud_spanner-3.51.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/1a/108e7867b28c93274812ac8107202d93e338f9d190a05f877d41ce86391e/google_cloud_videointelligence-2.15.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/53/54440af12f0b198c8402c1b104a5dd955d49cd71ac4cd5d4a10a3c58a301/google_cloud_vision-3.9.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/5f/4b/404f59d065a410e835576433bc296599ae093460c7724fa5d5ca2354a885/grpc_google_iam_v1-0.12.7-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl - - pypi: https://files.pythonhosted.org/packages/14/32/754cd4474790239c7436a7a9490bc0c4a0a2ed604cb9a940151a3b1055b9/grpcio_status-1.48.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/b4/ab54f7fda4af43ca5c094bc1d6341780fd669c44ae18952b5337029b1d98/grpc_google_iam_v1-0.14.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/ac/8d53f230a7443401ce81791ec50a3b0e54924bf615ad287654fa4a2f5cdc/grpc_interceptor-0.15.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/8c/35a8d0f7135dbeb87f522ec743cd06423dba8eaec6c891f9466b0f46284c/grpcio-1.65.5-cp312-cp312-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/9e/05/b21346efcf5bc01e3747ba6732f2f17bd04703f6a9a8a4ed8ff18119ebf0/grpcio_status-1.65.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/29/c7/1be559eb10cb7cac0d26373f18656c8037553619ddd4098e50b04ea8b4ab/hdfs-2.7.3.tar.gz - - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/59/56/25ca7b848164b7d93dbd5fc97dd7751700c93e324fe854afbeb562ee2f98/immutabledict-4.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c0/a3/e610ae0feba3e7374da08ab6cc9bb76c8bfa84b4e502aa357bda0ef6dcae/jsonpickle-3.4.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dc/a0/9698d906772b8c445f502e30c9408314998b29a0ee9fb22d849433a8146b/keyrings.google_artifactregistry_auth-1.1.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/c0/7b/bc893e35d6ca46a72faa4b9eaac25c687ce60e1fbe978993fe2de1b0ff0d/oauth2client-3.0.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/b7/62/9dd265a57c75df0dda3885c28b8880ec711245febe006434fa78b6b69c86/numcodecs-0.15.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/95/a9/4f25a14d23f0786b64875b91784607c2277eff25d48f915e39ff0cff505a/oauth2client-4.1.3-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f3/a7/55f8f3853a4a654d3a6fbf63e646e0b469b52c174703a10db70a1cb06c7e/objsize-0.7.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/43/53/5249ea860d417a26a3a6f1bdedfc0748c4f081a3adaec3d398bc0f7c6a71/opentelemetry_api-1.29.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d1/1d/512b86af21795fb463726665e2f61db77d384e8779fdcf4cb0ceec47866d/opentelemetry_sdk-1.29.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/da/fb/dc15fad105450a015e913cfa4f5c27b6a5f1bea8fb649f8cae11e699c8af/opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e0/e6/d14b4a2b54ef065b1a2c576537abe805c1af0c94caef70d365e2d78fc528/pyarrow-0.15.1.tar.gz + - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4a/de/bbe712f94d088da1d237c35d735f675e494a816fd6f54e9db2f61ef4d03f/propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9b/73/560ef6bf05f16305502b8e368c771e8f82d774898b37a3fb231f89c13342/pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e4/f4/9ec2222f5f5f8ea04f66f184caafd991a39c8782e31f5b0266f101cb68ca/pyarrow_hotfix-0.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/ea/76/75b1bb82e9bad3e3d656556eaa353d8cd17c4254393b08ec9786ac8ed273/pydot-1.4.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ec/ff/9b08f29b57384e1f55080d15a12ba4908d93d46cd7fe83c5c562fdcd3400/pymongo-3.13.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/00/e3/471839c8705ae024d6eb3af65bd2fac85b33561c04048ff846d22d5ed9d4/pymongo-4.11-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/34/83/a485250bc09db55e4b4389d99e583fac871ceeaaa4620b67a31d8db95ef5/rechunker-0.5.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/72/f4/797f3e15cd1136d3f530baec0e06a0c700339b55b96e9420b28324c60c73/xarray_beam-0.0.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e3/a2/b65447626227ebe36f18f63ac551790068bf42c69bb22dfa3ae986170728/yarl-1.17.1-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/b4/d1/c84022a44afc7b7ccc442fba3daee56bdd03593d91ee4bc245a08e4fcc55/zarr-2.18.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a8/47/dd03fd2b5ae727e16d5d18919b383959c6d269c7b948a380fdd879518640/ujson-5.10.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/05/79/4e19100342fe13d69fd6e77b343e2269924fec681258e2ea21b55576aad2/xarray-2025.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/40/7d/01fea08d4dcb21d41cc6a69ee1106866dd4ee90b91f501416ad892e4e12f/xarray_beam-0.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/6e/49408735dae940a0c1c225c6b908fd83bd6e3f5fae120f865754e72f78cb/xyzservices-2025.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/27/83/4316503558c57a2d1928afaf0e77f47cf00d394347c88aaafbf0efaf5685/zarr-3.0.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: . tests: channels: @@ -344,95 +585,147 @@ environments: - https://pypi.org/simple packages: osx-arm64: + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/aom-3.9.1-h7bae524_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.7.7-h3b16cec_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libavif16-1.1.1-h45b7238_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-28_h10e41b3_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-28_hb3479ef_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.11.1-h73640d1_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.7-ha82da77_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libde265-1.0.15-h2ffa867_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.23-hec38601_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.6.4-h286801f_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.4.2-h3422bc3_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.1-h9ef0d2d_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran-5.0.0-13_2_0_hd922786_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libgfortran5-13.2.0-hf226fd6_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libheif-1.19.5-gpl_h297b2c4_100.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.0.0-hb547adb_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-he250239_1021.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-28_hc9a63f6_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libopenblas-0.3.28-openmp_hf332438_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.46-h3783ad8_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha2cf0f4_17.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hf92fc0a_12.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.48.0-h3f77e49_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h9cc3647_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.0-h551f018_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.5.0-h2471fea_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h178c5d8_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.7-hdb05f8b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h93a5062_1001.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.7-hff1a8ea_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h92ec313_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-h98b9ce2_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda - pypi: https://files.pythonhosted.org/packages/a2/ad/e0d3c824784ff121c03cc031f944bc7e139a8f1870ffd2845cc2dd76f6c4/absl_py-2.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0b/f7/85273299ab57117850cc0a936c64151171fac4da49bc6fba0dad984a7c5f/affine-2.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/41/77/8d9ce42673e5cb9988f6df73c1c5c1d4e9e788053cccd7f5fb14ef100982/black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/4c/ea/a77bab4cf1887f4b2e0bce5516ea0b3ff7d04ba96af21d65024629afedb6/black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/56/12/2c266a0dc57379c60b4e73a2f93e71343db4170bf26c5a76a74e7d8bce2a/bokeh-3.6.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl + - pypi: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/73/86/43fa9f15c5b9fb6e82620428827cd3c284aa933431405d1bcf5231ae3d3e/cligj-0.7.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/db/47/136a5dd68a33089f96f8aa1178ccd545d325ec9ab2bb42a3038711a935c0/dask-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/2c/e3/cf7a05892b04b22b9e28ec25f8bc2acaa0304bf3128f76031e4363b63e21/dask_expr-1.1.10-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/95/8a/d828dea3a1b6d7e796bebd8c64dc40d44d9a60762f759a11a61386eb38b5/distributed-2024.8.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/0c/12/63ed9f3baa44816c47bfeeebf820083d89245a2d382940263a9fc8e51754/earthengine_api-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b1/a6/8e30ddfd3d39ee6d2c76d3d4f64a83f77ac86a4cab67b286ae35ce9e4369/google_api_core-2.24.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/49/35/41623ac3b581781169eed7f5fcd24bc114c774dc491fab5c05d8eb81af36/google_api_python_client-2.160.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/47/603554949a37bca5b7f894d51896a9c534b9eab808e2520a748e081669d0/google_auth-2.38.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/0f/2e2061e3fbcb9d535d5da3f58cc8de4947df1786fe6a1355960feb05a681/google_cloud_core-2.4.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cf/41/65a91657d6a8123c6c12f9aac72127b6ac76dda9e2ba1834026a842eb77c/google_crc32c-1.6.0-cp312-cp312-macosx_12_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz + - pypi: https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9b/73/560ef6bf05f16305502b8e368c771e8f82d774898b37a3fb231f89c13342/pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e4/f4/9ec2222f5f5f8ea04f66f184caafd991a39c8782e31f5b0266f101cb68ca/pyarrow_hotfix-0.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/93/72/37d76e26bc9cc5ffb90cd2c29adcf0476922e8d89da6061682298e231a3b/pyink-24.10.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1f/12/2f271b3601ae25731879f160d6b3941d80eb6b4f3e24be90289e33fb1dc4/pyink-24.10.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/2e/48/fcd02399c7c4041c850b59c7cd80c309f7b87c86649e2bfb515d44ad061c/rasterio-1.4.2.tar.gz + - pypi: https://files.pythonhosted.org/packages/de/19/ab4326e419b543da623ce4191f68e3f36a4d9adc64f3df5c78f044d8d9ca/rasterio-1.4.3.tar.gz - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/aa/b7/a881b08bb24ae15bd3644b313244d89b0eb50d88dbda577ce72e5e3e4be4/rioxarray-0.18.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/fb/b0/2c74f302512fbd24d68fbba0ec6b650b33ef83e398daeb0a2bb1a4cd641c/rioxarray-0.18.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl + - pypi: https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/05/79/4e19100342fe13d69fd6e77b343e2269924fec681258e2ea21b55576aad2/xarray-2025.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9a/6e/49408735dae940a0c1c225c6b908fd83bd6e3f5fae120f865754e72f78cb/xyzservices-2025.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl - pypi: . packages: @@ -456,117 +749,220 @@ packages: requires_python: '>=3.7' - kind: pypi name: aiohappyeyeballs - version: 2.4.3 - url: https://files.pythonhosted.org/packages/f7/d8/120cd0fe3e8530df0539e71ba9683eade12cae103dd7543e50d15f737917/aiohappyeyeballs-2.4.3-py3-none-any.whl - sha256: 8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572 + version: 2.4.4 + url: https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl + sha256: a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8 requires_python: '>=3.8' - kind: pypi name: aiohttp - version: 3.11.2 - url: https://files.pythonhosted.org/packages/4c/c6/2ea8c333f6c26cc48eb35e7bc369124ece9591bb8ef236cf72cb568da4f7/aiohttp-3.11.2-cp312-cp312-macosx_11_0_arm64.whl - sha256: d3a2bcf6c81639a165da93469e1e0aff67c956721f3fa9c0560f07dd1e505116 + version: 3.11.11 + url: https://files.pythonhosted.org/packages/5a/a6/789e1f17a1b6f4a38939fbc39d29e1d960d5f89f73d0629a939410171bc0/aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl + sha256: 8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c requires_dist: - aiohappyeyeballs>=2.3.0 - aiosignal>=1.1.2 + - async-timeout>=4.0,<6.0 ; python_full_version < '3.11' - attrs>=17.3.0 - frozenlist>=1.1.1 - multidict>=4.5,<7.0 - propcache>=0.2.0 - yarl>=1.17.0,<2.0 - - async-timeout>=4.0,<6.0 ; python_full_version < '3.11' - - brotlicffi ; platform_python_implementation != 'CPython' and extra == 'speedups' - - brotli ; platform_python_implementation == 'CPython' and extra == 'speedups' - aiodns>=3.2.0 ; (sys_platform == 'darwin' and extra == 'speedups') or (sys_platform == 'linux' and extra == 'speedups') + - brotli ; platform_python_implementation == 'CPython' and extra == 'speedups' + - brotlicffi ; platform_python_implementation != 'CPython' and extra == 'speedups' requires_python: '>=3.9' - kind: pypi name: aiosignal - version: 1.3.1 - url: https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl - sha256: f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17 + version: 1.3.2 + url: https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl + sha256: 45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5 requires_dist: - frozenlist>=1.1.0 - requires_python: '>=3.7' + requires_python: '>=3.9' +- kind: pypi + name: annotated-types + version: 0.7.0 + url: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl + sha256: 1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 + requires_dist: + - typing-extensions>=4.0.0 ; python_full_version < '3.9' + requires_python: '>=3.8' +- kind: conda + name: aom + version: 3.9.1 + build: h7bae524_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/aom-3.9.1-h7bae524_0.conda + sha256: ec238f18ce8140485645252351a0eca9ef4f7a1c568a420f240a585229bc12ef + md5: 7adba36492a1bb22d98ffffe4f6fc6de + depends: + - __osx >=11.0 + - libcxx >=16 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 2235747 + timestamp: 1718551382432 - kind: pypi name: apache-beam - version: 2.17.0 - url: https://files.pythonhosted.org/packages/bf/07/06f8eff85d93194ce4fe4281d7ba970fe46944463cd977f26fdf4b63017a/apache-beam-2.17.0.zip - sha256: 4e90b8a6caf075632314876febbdff949a6dc2217dd63e220bf25141f18ec957 + version: 2.62.0 + url: https://files.pythonhosted.org/packages/e2/1c/f1efde858d0a750f16e5bd0a9e16a04d44a6c7f25e13307d5e1834841e33/apache_beam-2.62.0.tar.gz + sha256: b9d97df88b9b9e4585fff5ee09959d76b0ab596bb78ae986fac8c04bf8cc78db requires_dist: - crcmod>=1.7,<2.0 - - dill>=0.3.0,<0.3.1 - - fastavro>=0.21.4,<0.22 - - future>=0.16.0,<1.0.0 - - grpcio>=1.12.1,<2 + - orjson>=3.9.7,<4 + - dill>=0.3.1.1,<0.3.2 + - cloudpickle~=2.2.1 + - fastavro>=0.23.6,<2 + - fasteners>=0.3,<1.0 + - grpcio>=1.33.1,!=1.48.0,!=1.59.*,!=1.60.*,!=1.61.*,!=1.62.0,!=1.62.1,<1.66.0,<2 - hdfs>=2.1.0,<3.0.0 - - httplib2>=0.8,<=0.12.0 - - mock>=1.0.1,<3.0.0 - - pymongo>=3.8.0,<4.0.0 - - oauth2client>=2.0.1,<4 - - protobuf>=3.5.0.post1,<4 + - httplib2>=0.8,<0.23.0 + - jsonschema>=4.0.0,<5.0.0 + - jsonpickle>=3.0.0,<4.0.0 + - numpy>=1.14.3,<2.3.0 + - objsize>=0.6.1,<0.8.0 + - packaging>=22.0 + - pymongo>=3.8.0,<5.0.0 + - proto-plus>=1.7.1,<2 + - protobuf>=3.20.3,!=4.0.*,!=4.21.*,!=4.22.0,!=4.23.*,!=4.24.*,<6.0.0.dev0 - pydot>=1.2.0,<2 - python-dateutil>=2.8.0,<3 - pytz>=2018.3 - - avro>=1.8.1,<2.0.0 ; python_full_version < '3.0' - - funcsigs>=1.0.2,<2 ; python_full_version < '3.0' - - futures>=3.2.0,<4.0.0 ; python_full_version < '3.0' - - pyvcf>=0.6.8,<0.7.0 ; python_full_version < '3.0' - - typing>=3.6.0,<3.7.0 ; python_full_version < '3.5' - - avro-python3>=1.8.1,<2.0.0 ; python_full_version >= '3.0' - - pyarrow>=0.15.1,<0.16.0 ; platform_system != 'Windows' or python_full_version >= '3.0' - - sphinx>=1.5.2,<2.0 ; extra == 'docs' - - cachetools>=3.1.0,<4 ; extra == 'gcp' - - google-apitools>=0.5.28,<0.5.29 ; extra == 'gcp' - - google-cloud-datastore>=1.7.1,<1.8.0 ; extra == 'gcp' - - google-cloud-pubsub>=0.39.0,<1.1.0 ; extra == 'gcp' - - google-cloud-bigquery>=1.6.0,<1.18.0 ; extra == 'gcp' - - google-cloud-core>=0.28.1,<2 ; extra == 'gcp' - - google-cloud-bigtable>=0.31.1,<1.1.0 ; extra == 'gcp' - - proto-google-cloud-datastore-v1>=0.90.0,<=0.90.4 ; python_full_version < '3.0' and extra == 'gcp' - - googledatastore>=7.0.1,<7.1 ; python_full_version < '3.0' and extra == 'gcp' - - nose>=1.3.7 ; extra == 'test' - - nose-xunitmp>=0.4.1 ; extra == 'test' - - numpy>=1.14.3,<2 ; extra == 'test' - - pandas>=0.23.4,<0.25 ; extra == 'test' - - parameterized>=0.6.0,<0.7.0 ; extra == 'test' - - pyhamcrest>=1.9,<2.0 ; extra == 'test' - - pyyaml>=3.12,<6.0.0 ; extra == 'test' + - redis>=5.0.0,<6 + - regex>=2020.6.8 + - requests>=2.24.0,<3.0.0 + - sortedcontainers>=2.4.0 + - typing-extensions>=3.7.0 + - zstandard>=0.18.0,<1 + - pyyaml>=3.12,<7.0.0 + - pyarrow>=3.0.0,<17.0.0 + - pyarrow-hotfix<1 + - jinja2>=3.0,<3.2 ; extra == 'docs' + - sphinx>=7.0.0,<8.0 ; extra == 'docs' + - docstring-parser>=0.15,<1.0 ; extra == 'docs' + - docutils>=0.18.1 ; extra == 'docs' + - pandas<2.2.0 ; extra == 'docs' + - openai ; extra == 'docs' + - docstring-parser>=0.15,<1.0 ; extra == 'test' + - freezegun>=0.3.12 ; extra == 'test' + - jinja2>=3.0,<3.2 ; extra == 'test' + - joblib>=1.0.1 ; extra == 'test' + - mock>=1.0.1,<6.0.0 ; extra == 'test' + - pandas<2.2.0 ; extra == 'test' + - parameterized>=0.7.1,<0.10.0 ; extra == 'test' + - pyhamcrest>=1.9,!=1.10.0,<3.0.0 ; extra == 'test' - requests-mock>=1.7,<2.0 ; extra == 'test' - - tenacity>=5.0.2,<6.0 ; extra == 'test' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*' -- kind: pypi - name: asciitree - version: 0.3.3 - url: https://files.pythonhosted.org/packages/2d/6a/885bc91484e1aa8f618f6f0228d76d0e67000b0fdd6090673b777e311913/asciitree-0.3.3.tar.gz - sha256: 4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e + - tenacity>=8.0.0,<9 ; extra == 'test' + - pytest>=7.1.2,<8.0 ; extra == 'test' + - pytest-xdist>=2.5.0,<4 ; extra == 'test' + - pytest-timeout>=2.1.0,<3 ; extra == 'test' + - scikit-learn>=0.20.0 ; extra == 'test' + - setuptools ; extra == 'test' + - sqlalchemy>=1.3,<3.0 ; extra == 'test' + - psycopg2-binary>=2.8.5,!=2.9.10,<3.0.0 ; extra == 'test' + - testcontainers[mysql]>=3.0.3,<4.0.0 ; extra == 'test' + - cryptography>=41.0.2 ; extra == 'test' + - hypothesis>5.0.0,<7.0.0 ; extra == 'test' + - cachetools>=3.1.0,<6 ; extra == 'gcp' + - google-api-core>=2.0.0,<3 ; extra == 'gcp' + - google-apitools>=0.5.31,<0.5.32 ; extra == 'gcp' + - google-auth>=1.18.0,<3 ; extra == 'gcp' + - google-auth-httplib2>=0.1.0,<0.3.0 ; extra == 'gcp' + - google-cloud-datastore>=2.0.0,<3 ; extra == 'gcp' + - google-cloud-pubsub>=2.1.0,<3 ; extra == 'gcp' + - google-cloud-pubsublite>=1.2.0,<2 ; extra == 'gcp' + - google-cloud-storage>=2.18.2,<3 ; extra == 'gcp' + - google-cloud-bigquery>=2.0.0,<4 ; extra == 'gcp' + - google-cloud-bigquery-storage>=2.6.3,<3 ; extra == 'gcp' + - google-cloud-core>=2.0.0,<3 ; extra == 'gcp' + - google-cloud-bigtable>=2.19.0,<3 ; extra == 'gcp' + - google-cloud-spanner>=3.0.0,<4 ; extra == 'gcp' + - google-cloud-dlp>=3.0.0,<4 ; extra == 'gcp' + - google-cloud-language>=2.0,<3 ; extra == 'gcp' + - google-cloud-videointelligence>=2.0,<3 ; extra == 'gcp' + - google-cloud-vision>=2,<4 ; extra == 'gcp' + - google-cloud-recommendations-ai>=0.1.0,<0.11.0 ; extra == 'gcp' + - google-cloud-aiplatform>=1.26.0,<2.0 ; extra == 'gcp' + - keyrings-google-artifactregistry-auth ; extra == 'gcp' + - facets-overview>=1.1.0,<2 ; extra == 'interactive' + - google-cloud-dataproc>=5.0.0,<6 ; extra == 'interactive' + - ipython>=8,<9 ; extra == 'interactive' + - ipykernel>=6,<7 ; extra == 'interactive' + - ipywidgets>=8,<9 ; extra == 'interactive' + - jupyter-client>=6.1.11,!=6.1.13,<8.2.1 ; extra == 'interactive' + - timeloop>=1.0.2,<2 ; extra == 'interactive' + - nbformat>=5.0.5,<6 ; extra == 'interactive' + - nbconvert>=6.2.0,<8 ; extra == 'interactive' + - pandas>=1.4.3,!=1.5.0,!=1.5.1,<2.3 ; extra == 'interactive' + - needle>=0.5.0,<1 ; extra == 'interactive-test' + - chromedriver-binary>=117,<118 ; extra == 'interactive-test' + - pillow>=7.1.1,<10 ; extra == 'interactive-test' + - urllib3>=1.21.1,<2 ; extra == 'interactive-test' + - datatable ; extra == 'ml-test' + - embeddings ; extra == 'ml-test' + - onnxruntime ; extra == 'ml-test' + - sentence-transformers ; extra == 'ml-test' + - skl2onnx ; extra == 'ml-test' + - pillow ; extra == 'ml-test' + - tensorflow ; extra == 'ml-test' + - tensorflow-hub ; extra == 'ml-test' + - tensorflow-transform ; extra == 'ml-test' + - tf2onnx ; extra == 'ml-test' + - torch ; extra == 'ml-test' + - transformers ; extra == 'ml-test' + - datatable ; extra == 'p312-ml-test' + - embeddings ; extra == 'p312-ml-test' + - onnxruntime ; extra == 'p312-ml-test' + - sentence-transformers ; extra == 'p312-ml-test' + - skl2onnx ; extra == 'p312-ml-test' + - pillow ; extra == 'p312-ml-test' + - tensorflow ; extra == 'p312-ml-test' + - tensorflow-hub ; extra == 'p312-ml-test' + - tf2onnx ; extra == 'p312-ml-test' + - torch ; extra == 'p312-ml-test' + - transformers ; extra == 'p312-ml-test' + - boto3>=1.9,<2 ; extra == 'aws' + - azure-storage-blob>=12.3.2,<13 ; extra == 'azure' + - azure-core>=1.7.0,<2 ; extra == 'azure' + - azure-identity>=1.12.0,<2 ; extra == 'azure' + - pandas>=1.4.3,!=1.5.0,!=1.5.1,<2.3 ; extra == 'dataframe' + - distributed>=2024.4.2 ; extra == 'dask' + - dask>=2024.4.2 ; extra == 'dask' + - docstring-parser>=0.15,<1.0 ; extra == 'yaml' + - jinja2>=3.0,<3.2 ; extra == 'yaml' + - virtualenv-clone>=0.5,<1.0 ; extra == 'yaml' + - js2py>=0.74,<1 ; python_full_version < '3.12' and extra == 'yaml' + - pandas>=1.4.3,!=1.5.0,!=1.5.1,<2.3 ; extra == 'yaml' + requires_python: '>=3.9' - kind: pypi name: attrs - version: 24.2.0 - url: https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl - sha256: 81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 + version: 25.1.0 + url: https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl + sha256: c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a requires_dist: - - importlib-metadata ; python_full_version < '3.8' - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'benchmark' - hypothesis ; extra == 'benchmark' - - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'benchmark' + - mypy>=1.11.1 ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'benchmark' - pympler ; extra == 'benchmark' - pytest-codspeed ; extra == 'benchmark' - - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'benchmark' + - pytest-mypy-plugins ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'benchmark' - pytest-xdist[psutil] ; extra == 'benchmark' - pytest>=4.3.0 ; extra == 'benchmark' - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'cov' - coverage[toml]>=5.3 ; extra == 'cov' - hypothesis ; extra == 'cov' - - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'cov' + - mypy>=1.11.1 ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'cov' - pympler ; extra == 'cov' - - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'cov' + - pytest-mypy-plugins ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'cov' - pytest-xdist[psutil] ; extra == 'cov' - pytest>=4.3.0 ; extra == 'cov' - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'dev' - hypothesis ; extra == 'dev' - - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'dev' - - pre-commit ; extra == 'dev' + - mypy>=1.11.1 ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'dev' + - pre-commit-uv ; extra == 'dev' - pympler ; extra == 'dev' - - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'dev' + - pytest-mypy-plugins ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'dev' - pytest-xdist[psutil] ; extra == 'dev' - pytest>=4.3.0 ; extra == 'dev' - cogapp ; extra == 'docs' @@ -578,28 +974,19 @@ packages: - towncrier<24.7 ; extra == 'docs' - cloudpickle ; platform_python_implementation == 'CPython' and extra == 'tests' - hypothesis ; extra == 'tests' - - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'tests' + - mypy>=1.11.1 ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'tests' - pympler ; extra == 'tests' - - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'tests' + - pytest-mypy-plugins ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'tests' - pytest-xdist[psutil] ; extra == 'tests' - pytest>=4.3.0 ; extra == 'tests' - - mypy>=1.11.1 ; python_full_version >= '3.9' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' - - pytest-mypy-plugins ; python_full_version >= '3.9' and python_full_version < '3.13' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' - requires_python: '>=3.7' -- kind: pypi - name: avro-python3 - version: 1.10.2 - url: https://files.pythonhosted.org/packages/cc/97/7a6970380ca8db9139a3cc0b0e3e0dd3e4bc584fb3644e1d06e71e1a55f0/avro-python3-1.10.2.tar.gz - sha256: 3b63f24e6b04368c3e4a6f923f484be0230d821aad65ac36108edbff29e9aaab - requires_dist: - - python-snappy ; extra == 'snappy' - - zstandard ; extra == 'zstandard' - requires_python: '>=3.5' + - mypy>=1.11.1 ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' + - pytest-mypy-plugins ; python_full_version >= '3.10' and platform_python_implementation == 'CPython' and extra == 'tests-mypy' + requires_python: '>=3.8' - kind: pypi name: black - version: 24.8.0 - url: https://files.pythonhosted.org/packages/41/77/8d9ce42673e5cb9988f6df73c1c5c1d4e9e788053cccd7f5fb14ef100982/black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl - sha256: 649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed + version: 24.10.0 + url: https://files.pythonhosted.org/packages/4c/ea/a77bab4cf1887f4b2e0bce5516ea0b3ff7d04ba96af21d65024629afedb6/black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65 requires_dist: - click>=8.0.0 - mypy-extensions>=0.4.3 @@ -609,26 +996,48 @@ packages: - tomli>=1.1.0 ; python_full_version < '3.11' - typing-extensions>=4.0.1 ; python_full_version < '3.11' - colorama>=0.4.3 ; extra == 'colorama' - - aiohttp>=3.7.4,!=3.9.0 ; implementation_name == 'pypy' and sys_platform == 'win32' and extra == 'd' - - aiohttp>=3.7.4 ; (implementation_name != 'pypy' and extra == 'd') or (sys_platform != 'win32' and extra == 'd') + - aiohttp>=3.10 ; extra == 'd' - ipython>=7.8.0 ; extra == 'jupyter' - tokenize-rt>=3.2.0 ; extra == 'jupyter' - uvloop>=0.15.2 ; extra == 'uvloop' - requires_python: '>=3.8' + requires_python: '>=3.9' +- kind: conda + name: blosc + version: 1.21.6 + build: h7dd00d9_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/blosc-1.21.6-h7dd00d9_1.conda + sha256: c3fe902114b9a3ac837e1a32408cc2142c147ec054c1038d37aec6814343f48a + md5: 925acfb50a750aa178f7a0aced77f351 + depends: + - __osx >=11.0 + - libcxx >=18 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - snappy >=1.2.1,<1.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 33602 + timestamp: 1733513285902 - kind: pypi name: bokeh - version: 2.4.3 - url: https://files.pythonhosted.org/packages/15/06/706a9c43436cd0c3e2f4b94e93ae837e74965e59565c596b727974a74169/bokeh-2.4.3-py3-none-any.whl - sha256: 104d2f0a4ca7774ee4b11e545aa34ff76bf3e2ad6de0d33944361981b65da420 + version: 3.6.2 + url: https://files.pythonhosted.org/packages/56/12/2c266a0dc57379c60b4e73a2f93e71343db4170bf26c5a76a74e7d8bce2a/bokeh-3.6.2-py3-none-any.whl + sha256: fddc4b91f8b40178c0e3e83dfcc33886d7803a3a1f041a840834255e435a18c2 requires_dist: - jinja2>=2.9 - - numpy>=1.11.3 + - contourpy>=1.2 + - numpy>=1.16 - packaging>=16.8 + - pandas>=1.2 - pillow>=7.1.0 - pyyaml>=3.10 - - tornado>=5.1 - - typing-extensions>=3.10.0 - requires_python: '>=3.7' + - tornado>=6.2 + - xyzservices>=2021.9.1 + requires_python: '>=3.10' - kind: conda name: bzip2 version: 1.0.8 @@ -645,53 +1054,60 @@ packages: purls: [] size: 122909 timestamp: 1720974522888 +- kind: conda + name: c-ares + version: 1.34.4 + build: h5505292_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda + sha256: 09c0c8476e50b2955f474a4a1c17c4c047dd52993b5366b6ea8e968e583b921f + md5: c1c999a38a4303b29d75c636eaa13cf9 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 179496 + timestamp: 1734208291879 - kind: conda name: ca-certificates - version: 2024.8.30 + version: 2025.1.31 build: hf0a4a13_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2024.8.30-hf0a4a13_0.conda - sha256: 2db1733f4b644575dbbdd7994a8f338e6ef937f5ebdb74acd557e9dda0211709 - md5: 40dec13fd8348dbe303e57be74bd3d35 + url: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + sha256: 7e12816618173fe70f5c638b72adf4bfd4ddabf27794369bb17871c5bb75b9f9 + md5: 3569d6a9141adc64d2fe4797f3289e06 license: ISC purls: [] - size: 158482 - timestamp: 1725019034582 + size: 158425 + timestamp: 1738298167688 - kind: pypi name: cachetools - version: 3.1.1 - url: https://files.pythonhosted.org/packages/2f/a6/30b0a0bef12283e83e58c1d6e7b5aabc7acfc4110df81a4471655d33e704/cachetools-3.1.1-py2.py3-none-any.whl - sha256: 428266a1c0d36dc5aca63a2d7c5942e88c2c898d72139fca0e97fdd2380517ae + version: 5.5.1 + url: https://files.pythonhosted.org/packages/ec/4e/de4ff18bcf55857ba18d3a4bd48c8a9fde6bb0980c9d20b263f05387fd88/cachetools-5.5.1-py3-none-any.whl + sha256: b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb + requires_python: '>=3.7' - kind: pypi name: certifi - version: 2024.12.14 - url: https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl - sha256: 1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56 + version: 2025.1.31 + url: https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl + sha256: ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe requires_python: '>=3.6' - kind: pypi name: charset-normalizer - version: 3.4.0 - url: https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl - sha256: 4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db - requires_python: '>=3.7.0' -- kind: conda + version: 3.4.1 + url: https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl + sha256: 73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545 + requires_python: '>=3.7' +- kind: pypi name: click version: 8.1.8 - build: pyh707e725_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.8-pyh707e725_0.conda - sha256: c920d23cd1fcf565031c679adb62d848af60d6fbb0edc2d50ba475cea4f0d8ab - md5: f22f4d4970e09d68a10b922cbb0408d3 - depends: - - __unix - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/click?source=hash-mapping - size: 84705 - timestamp: 1734858922844 + url: https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl + sha256: 63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 + requires_dist: + - colorama ; platform_system == 'Windows' + - importlib-metadata ; python_full_version < '3.8' + requires_python: '>=3.7' - kind: pypi name: click-plugins version: 1.1.1 @@ -718,6 +1134,37 @@ packages: url: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl sha256: 61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f requires_python: '>=3.6' +- kind: pypi + name: contourpy + version: 1.3.1 + url: https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl + sha256: 805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc + requires_dist: + - numpy>=1.23 + - furo ; extra == 'docs' + - sphinx>=7.2 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' + - bokeh ; extra == 'bokeh' + - selenium ; extra == 'bokeh' + - contourpy[bokeh,docs] ; extra == 'mypy' + - docutils-stubs ; extra == 'mypy' + - mypy==1.11.1 ; extra == 'mypy' + - types-pillow ; extra == 'mypy' + - contourpy[test-no-images] ; extra == 'test' + - matplotlib ; extra == 'test' + - pillow ; extra == 'test' + - pytest ; extra == 'test-no-images' + - pytest-cov ; extra == 'test-no-images' + - pytest-rerunfailures ; extra == 'test-no-images' + - pytest-xdist ; extra == 'test-no-images' + - wurlitzer ; extra == 'test-no-images' + requires_python: '>=3.10' +- kind: pypi + name: crc32c + version: 2.7.1 + url: https://files.pythonhosted.org/packages/0b/7d/5ff9904046ad15a08772515db19df43107bf5e3901a89c36a577b5f40ba0/crc32c-2.7.1-cp312-cp312-macosx_11_0_arm64.whl + sha256: afd778fc8ac0ed2ffbfb122a9aa6a0e409a8019b894a1799cda12c01534493e0 + requires_python: '>=3.7' - kind: pypi name: crcmod version: '1.7' @@ -725,91 +1172,169 @@ packages: sha256: dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e - kind: pypi name: dask - version: 2023.3.0 - url: https://files.pythonhosted.org/packages/16/94/47aa3c13f037824b2b8c351be6f6abc3b93884b338175ea1ef3faaedfc0d/dask-2023.3.0-py3-none-any.whl - sha256: 4b355da5492fd8699017e786e281ad347528d11c868b645d102124df3621e9ee + version: 2024.8.0 + url: https://files.pythonhosted.org/packages/db/47/136a5dd68a33089f96f8aa1178ccd545d325ec9ab2bb42a3038711a935c0/dask-2024.8.0-py3-none-any.whl + sha256: 250ea3df30d4a25958290eec4f252850091c6cfaed82d098179c3b25bba18309 requires_dist: - - click>=7.0 - - cloudpickle>=1.1.1 - - fsspec>=0.6.0 + - click>=8.1 + - cloudpickle>=1.5.0 + - fsspec>=2021.9.0 - packaging>=20.0 - - partd>=1.2.0 + - partd>=1.4.0 - pyyaml>=5.3.1 - - toolz>=0.8.2 + - toolz>=0.10.0 + - importlib-metadata>=4.13.0 ; python_full_version < '3.12' - numpy>=1.21 ; extra == 'array' - - bokeh>=2.4.2,<3 ; extra == 'complete' - - distributed==2023.3.0 ; extra == 'complete' - - jinja2>=2.10.3 ; extra == 'complete' - - numpy>=1.21 ; extra == 'complete' - - pandas>=1.3 ; extra == 'complete' - - numpy>=1.21 ; extra == 'dataframe' - - pandas>=1.3 ; extra == 'dataframe' - - bokeh>=2.4.2,<3 ; extra == 'diagnostics' + - dask[array,dataframe,diagnostics,distributed] ; extra == 'complete' + - pyarrow>=7.0 ; extra == 'complete' + - pyarrow-hotfix ; extra == 'complete' + - lz4>=4.3.2 ; extra == 'complete' + - dask[array] ; extra == 'dataframe' + - pandas>=2.0 ; extra == 'dataframe' + - dask-expr>=1.1,<1.2 ; extra == 'dataframe' + - bokeh>=2.4.2 ; extra == 'diagnostics' - jinja2>=2.10.3 ; extra == 'diagnostics' - - distributed==2023.3.0 ; extra == 'distributed' + - distributed==2024.8.0 ; extra == 'distributed' - pandas[test] ; extra == 'test' - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' - pytest-rerunfailures ; extra == 'test' + - pytest-timeout ; extra == 'test' - pytest-xdist ; extra == 'test' - pre-commit ; extra == 'test' - requires_python: '>=3.8' + requires_python: '>=3.9' +- kind: pypi + name: dask-expr + version: 1.1.10 + url: https://files.pythonhosted.org/packages/2c/e3/cf7a05892b04b22b9e28ec25f8bc2acaa0304bf3128f76031e4363b63e21/dask_expr-1.1.10-py3-none-any.whl + sha256: c6365c6fa6d3e386c5ee79bd20d4c89e566c0cf78fb6c762f74b2f04028935c6 + requires_dist: + - dask==2024.8.0 + - pyarrow>=7.0.0 + - pandas>=2 + - crick ; extra == 'analyze' + - distributed ; extra == 'analyze' + requires_python: '>=3.9' - kind: conda - name: decorator - version: 5.1.1 - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - sha256: 328a6a379f9bdfd0230e51de291ce858e6479411ea4b0545fb377c71662ef3e2 - md5: 43afe5ab04e35e17ba28649471dd7364 - depends: - - python >=3.5 + name: dav1d + version: 1.2.1 + build: hb547adb_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + sha256: 93e077b880a85baec8227e8c72199220c7f87849ad32d02c14fb3807368260b8 + md5: 5a74cdee497e6b65173e10d94582fae6 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/decorator?source=hash-mapping - size: 12072 - timestamp: 1641555714315 + purls: [] + size: 316394 + timestamp: 1685695959391 +- kind: pypi + name: decorator + version: 5.1.1 + url: https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl + sha256: b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + requires_python: '>=3.5' +- kind: pypi + name: deprecated + version: 1.2.18 + url: https://files.pythonhosted.org/packages/6e/c6/ac0b6c1e2d138f1002bcf799d330bd6d85084fece321e662a14223794041/Deprecated-1.2.18-py2.py3-none-any.whl + sha256: bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec + requires_dist: + - wrapt>=1.10,<2 + - tox ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - bump2version<1 ; extra == 'dev' + - setuptools ; python_full_version >= '3.12' and extra == 'dev' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' - kind: pypi name: dill - version: 0.3.0 - url: https://files.pythonhosted.org/packages/39/7a/70803635c850e351257029089d38748516a280864c97cbc73087afef6d51/dill-0.3.0.tar.gz - sha256: 993409439ebf7f7902d9de93eaa2a395e0446ff773d29f13dc46646482f76906 + version: 0.3.1.1 + url: https://files.pythonhosted.org/packages/c7/11/345f3173809cea7f1a193bfbf02403fff250a3360e0e118a1630985e547d/dill-0.3.1.1.tar.gz + sha256: 42d8ef819367516592a825746a18073ced42ca169ab1f5f4044134703e7a049c requires_dist: - objgraph>=1.7.2 ; extra == 'graph' requires_python: '>=2.6,!=3.0.*' - kind: pypi name: distributed - version: 2023.3.0 - url: https://files.pythonhosted.org/packages/a2/1e/96d430d905fa3a43bd27fe16fa3832e5f7df11cdaf965fb86849dcb34454/distributed-2023.3.0-py3-none-any.whl - sha256: dd1f5854d1117a40c397f08f24e0d832d7e0ef15fba3266c85af4420c6a379ec + version: 2024.8.0 + url: https://files.pythonhosted.org/packages/95/8a/d828dea3a1b6d7e796bebd8c64dc40d44d9a60762f759a11a61386eb38b5/distributed-2024.8.0-py3-none-any.whl + sha256: 11af55d22dd6e04eb868b87f166b8f59ef1b300f659f87c016643b7f98280ec6 requires_dist: - - click>=7.0 + - click>=8.0 - cloudpickle>=1.5.0 - - dask==2023.3.0 + - dask==2024.8.0 - jinja2>=2.10.3 - locket>=1.0.0 - msgpack>=1.0.0 - packaging>=20.0 - - psutil>=5.7.0 + - psutil>=5.7.2 - pyyaml>=5.3.1 - sortedcontainers>=2.0.5 - tblib>=1.6.0 - toolz>=0.10.0 - - tornado>=6.0.3 + - tornado>=6.0.4 - urllib3>=1.24.3 - - zict>=2.1.0 - requires_python: '>=3.8' + - zict>=3.0.0 + requires_python: '>=3.9' +- kind: pypi + name: dnspython + version: 2.7.0 + url: https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl + sha256: b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86 + requires_dist: + - black>=23.1.0 ; extra == 'dev' + - coverage>=7.0 ; extra == 'dev' + - flake8>=7 ; extra == 'dev' + - hypercorn>=0.16.0 ; extra == 'dev' + - mypy>=1.8 ; extra == 'dev' + - pylint>=3 ; extra == 'dev' + - pytest-cov>=4.1.0 ; extra == 'dev' + - pytest>=7.4 ; extra == 'dev' + - quart-trio>=0.11.0 ; extra == 'dev' + - sphinx-rtd-theme>=2.0.0 ; extra == 'dev' + - sphinx>=7.2.0 ; extra == 'dev' + - twine>=4.0.0 ; extra == 'dev' + - wheel>=0.42.0 ; extra == 'dev' + - cryptography>=43 ; extra == 'dnssec' + - h2>=4.1.0 ; extra == 'doh' + - httpcore>=1.0.0 ; extra == 'doh' + - httpx>=0.26.0 ; extra == 'doh' + - aioquic>=1.0.0 ; extra == 'doq' + - idna>=3.7 ; extra == 'idna' + - trio>=0.23 ; extra == 'trio' + - wmi>=1.5.1 ; extra == 'wmi' + requires_python: '>=3.9' - kind: pypi name: docopt version: 0.6.2 url: https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz sha256: 49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491 +- kind: pypi + name: docstring-parser + version: '0.16' + url: https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl + sha256: bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637 + requires_python: '>=3.6,<4.0' +- kind: pypi + name: donfig + version: 0.8.1.post1 + url: https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl + sha256: 2a3175ce74a06109ff9307d90a230f81215cbac9a751f4d1c6194644b8204f9d + requires_dist: + - pyyaml + - sphinx>=4.0.0 ; extra == 'docs' + - numpydoc ; extra == 'docs' + - pytest ; extra == 'docs' + - cloudpickle ; extra == 'docs' + - pytest ; extra == 'test' + - cloudpickle ; extra == 'test' + requires_python: '>=3.8' - kind: pypi name: earthengine-api - version: 1.4.4 - url: https://files.pythonhosted.org/packages/a8/e7/1ac281e856159f5045de596c64c597e75dd0238429938c686f2093fac53d/earthengine_api-1.4.4-py3-none-any.whl - sha256: 3976e93c7c50f3263de1b3ecba294ed030bef617fd81f674dd163c4c5eba38a8 + version: 1.5.0 + url: https://files.pythonhosted.org/packages/0c/12/63ed9f3baa44816c47bfeeebf820083d89245a2d382940263a9fc8e51754/earthengine_api-1.5.0-py3-none-any.whl + sha256: 7bc0dec75c19eaa20dee1a98d4642efd288dc20e9789de0f2f14e3179de227c5 requires_dist: - google-cloud-storage - google-api-python-client>=1.12.1 @@ -823,17 +1348,42 @@ packages: requires_python: '>=3.9' - kind: pypi name: fastavro - version: 0.21.24 - url: https://files.pythonhosted.org/packages/85/7b/15d6af265fc01bf7ab93e7dc823b3f8dd8a6c56420999207446b7d2de997/fastavro-0.21.24.tar.gz - sha256: 7ac9bcf6e1226393d6db163f33ab5915e98ebf867fdab8f6239dc15c26f474da + version: 1.10.0 + url: https://files.pythonhosted.org/packages/9c/a4/8e69c0a5cd121e5d476237de1bde5a7947f791ae45768ae52ed0d3ea8d18/fastavro-1.10.0-cp312-cp312-macosx_10_13_universal2.whl + sha256: cfe57cb0d72f304bd0dcc5a3208ca6a7363a9ae76f3073307d095c9d053b29d4 requires_dist: - - python-snappy ; extra == 'snappy' + - cramjam ; extra == 'codecs' + - zstandard ; extra == 'codecs' + - lz4 ; extra == 'codecs' + - cramjam ; extra == 'snappy' + - zstandard ; extra == 'zstandard' + - lz4 ; extra == 'lz4' + requires_python: '>=3.9' - kind: pypi name: fasteners version: '0.19' url: https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl sha256: 758819cb5d94cdedf4e836988b74de396ceacb8e2794d21f82d131fd9ee77237 requires_python: '>=3.6' +- kind: conda + name: freexl + version: 2.0.0 + build: h3ab3353_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda + sha256: b4146ac9ba1676494e3d812ca39664dd7dd454e4d0984f3665fd6feec318c71c + md5: dd655a29b40fe0d1bf95c64cf3cb348d + depends: + - __osx >=11.0 + - libexpat >=2.6.4,<3.0a0 + - libiconv >=1.17,<2.0a0 + - minizip >=4.0.7,<5.0a0 + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 53378 + timestamp: 1734014980768 - kind: pypi name: frozenlist version: 1.5.0 @@ -842,20 +1392,25 @@ packages: requires_python: '>=3.8' - kind: pypi name: fsspec - version: 2024.2.0 - url: https://files.pythonhosted.org/packages/ad/30/2281c062222dc39328843bd1ddd30ff3005ef8e30b2fd09c4d2792766061/fsspec-2024.2.0-py3-none-any.whl - sha256: 817f969556fa5916bc682e02ca2045f96ff7f586d45110fcb76022063ad2c7d8 + version: 2025.2.0 + url: https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl + sha256: 9de2ad9ce1f85e1931858535bc882543171d197001a0a5eb2ddc04f1781ab95b requires_dist: - adlfs ; extra == 'abfs' - adlfs ; extra == 'adl' - pyarrow>=1 ; extra == 'arrow' - dask ; extra == 'dask' - distributed ; extra == 'dask' - - pytest ; extra == 'devel' - - pytest-cov ; extra == 'devel' + - pre-commit ; extra == 'dev' + - ruff ; extra == 'dev' + - numpydoc ; extra == 'doc' + - sphinx ; extra == 'doc' + - sphinx-design ; extra == 'doc' + - sphinx-rtd-theme ; extra == 'doc' + - yarl ; extra == 'doc' + - dropbox ; extra == 'dropbox' - dropboxdrivefs ; extra == 'dropbox' - requests ; extra == 'dropbox' - - dropbox ; extra == 'dropbox' - adlfs ; extra == 'full' - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'full' - dask ; extra == 'full' @@ -888,182 +1443,645 @@ packages: - paramiko ; extra == 'sftp' - smbprotocol ; extra == 'smb' - paramiko ; extra == 'ssh' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'test' + - numpy ; extra == 'test' + - pytest ; extra == 'test' + - pytest-asyncio!=0.22.0 ; extra == 'test' + - pytest-benchmark ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mock ; extra == 'test' + - pytest-recording ; extra == 'test' + - pytest-rerunfailures ; extra == 'test' + - requests ; extra == 'test' + - aiobotocore>=2.5.4,<3.0.0 ; extra == 'test-downstream' + - dask[dataframe,test] ; extra == 'test-downstream' + - moto[server]>4,<5 ; extra == 'test-downstream' + - pytest-timeout ; extra == 'test-downstream' + - xarray ; extra == 'test-downstream' + - adlfs ; extra == 'test-full' + - aiohttp!=4.0.0a0,!=4.0.0a1 ; extra == 'test-full' + - cloudpickle ; extra == 'test-full' + - dask ; extra == 'test-full' + - distributed ; extra == 'test-full' + - dropbox ; extra == 'test-full' + - dropboxdrivefs ; extra == 'test-full' + - fastparquet ; extra == 'test-full' + - fusepy ; extra == 'test-full' + - gcsfs ; extra == 'test-full' + - jinja2 ; extra == 'test-full' + - kerchunk ; extra == 'test-full' + - libarchive-c ; extra == 'test-full' + - lz4 ; extra == 'test-full' + - notebook ; extra == 'test-full' + - numpy ; extra == 'test-full' + - ocifs ; extra == 'test-full' + - pandas ; extra == 'test-full' + - panel ; extra == 'test-full' + - paramiko ; extra == 'test-full' + - pyarrow ; extra == 'test-full' + - pyarrow>=1 ; extra == 'test-full' + - pyftpdlib ; extra == 'test-full' + - pygit2 ; extra == 'test-full' + - pytest ; extra == 'test-full' + - pytest-asyncio!=0.22.0 ; extra == 'test-full' + - pytest-benchmark ; extra == 'test-full' + - pytest-cov ; extra == 'test-full' + - pytest-mock ; extra == 'test-full' + - pytest-recording ; extra == 'test-full' + - pytest-rerunfailures ; extra == 'test-full' + - python-snappy ; extra == 'test-full' + - requests ; extra == 'test-full' + - smbprotocol ; extra == 'test-full' + - tqdm ; extra == 'test-full' + - urllib3 ; extra == 'test-full' + - zarr ; extra == 'test-full' + - zstandard ; extra == 'test-full' - tqdm ; extra == 'tqdm' requires_python: '>=3.8' -- kind: pypi - name: future - version: 0.18.3 - url: https://files.pythonhosted.org/packages/8f/2e/cf6accf7415237d6faeeebdc7832023c90e0282aa16fd3263db0eb4715ec/future-0.18.3.tar.gz - sha256: 34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307 - requires_python: '>=2.6,!=3.0.*,!=3.1.*,!=3.2.*' - kind: pypi name: gcsfs - version: 2024.2.0 - url: https://files.pythonhosted.org/packages/5b/18/f40a808abb7ce9aaf8a2143b699dd0b246e61ea590ce55810ceae45610ed/gcsfs-2024.2.0-py2.py3-none-any.whl - sha256: 20bf70cc81d580474dd299d55e1ffcf8b3e81721aeb562e148ca0a3c900d0421 + version: 0.8.0 + url: https://files.pythonhosted.org/packages/6e/49/2dbc00f89ab9e7513faee7927ea0c649d68eb721108aee860380eaf86ff4/gcsfs-0.8.0-py2.py3-none-any.whl + sha256: 9fc5a9efe7e244a44a880c97c663ad986bb36f1e65e725d272fad9de0c0a1580 requires_dist: - - aiohttp!=4.0.0a0,!=4.0.0a1 - - decorator>4.1.2 - - fsspec==2024.2.0 - google-auth>=1.2 - google-auth-oauthlib - - google-cloud-storage - requests + - decorator + - fsspec>=0.8.0 + - aiohttp + - ujson - crcmod ; extra == 'crc' - fusepy ; extra == 'gcsfuse' - requires_python: '>=3.8' + requires_python: '>=3.6' +- kind: conda + name: gdal + version: 3.10.1 + build: py312h1afea5f_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda + sha256: db13033b6bacf55a4d1b8f964e5b156d0bdb6f2bc81b0eb1746de2ae5be75155 + md5: 955bf5ea321e423f16a94655b893cd98 + depends: + - __osx >=11.0 + - libcxx >=18 + - libgdal-core 3.10.1.* + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.6.3,<6.0a0 + - libxml2 >=2.13.5,<3.0a0 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python >=3.12,<3.13.0a0 *_cpython + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + purls: + - pkg:pypi/gdal?source=hash-mapping + size: 1667630 + timestamp: 1737610863982 +- kind: conda + name: geos + version: 3.13.0 + build: hf9b8971_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda + sha256: 273381020b72bde1597d4e07e855ed50ffac083512e61ccbdd99d93f03c6cbf2 + md5: 45b2e9adb9663644b1eefa5300b9eef3 + depends: + - __osx >=11.0 + - libcxx >=17 + license: LGPL-2.1-only + purls: [] + size: 1481430 + timestamp: 1725676193541 +- kind: conda + name: geotiff + version: 1.7.3 + build: h82bf549_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda + sha256: 7ce4d6dced3cd313ea170db69d6929b88d77ebd40715f9f38c3bcba3633d6c65 + md5: cb84033d7c167a16c4577272b4493bc5 + depends: + - __osx >=11.0 + - libcxx >=17 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.6.0,<4.8.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.5.0,<9.6.0a0 + - zlib + license: MIT + license_family: MIT + purls: [] + size: 113739 + timestamp: 1726603324989 +- kind: conda + name: giflib + version: 5.2.2 + build: h93a5062_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda + sha256: 843b3f364ff844137e37d5c0a181f11f6d51adcedd216f019d074e5aa5d7e09c + md5: 95fa1486c77505330c20f7202492b913 + license: MIT + license_family: MIT + purls: [] + size: 71613 + timestamp: 1712692611426 - kind: pypi name: google-api-core - version: 1.34.1 - url: https://files.pythonhosted.org/packages/11/51/1d325e9b7358f15dca82e1ed91413c5cecb9d4665da6c44cb8dd348deeaa/google_api_core-1.34.1-py3-none-any.whl - sha256: 52bcc9d9937735f8a3986fa0bbf9135ae9cf5393a722387e5eced520e39c774a + version: 2.24.1 + url: https://files.pythonhosted.org/packages/b1/a6/8e30ddfd3d39ee6d2c76d3d4f64a83f77ac86a4cab67b286ae35ce9e4369/google_api_core-2.24.1-py3-none-any.whl + sha256: bc78d608f5a5bf853b80bd70a795f703294de656c096c0968320830a4bc280f1 requires_dist: - googleapis-common-protos>=1.56.2,<2.0.dev0 - - protobuf>=3.19.5,!=3.20.0,!=3.20.1,<4.0.0.dev0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5 - - google-auth>=1.25.0,<3.0.dev0 + - protobuf>=3.19.5,!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - google-auth>=2.14.1,<3.0.dev0 - requests>=2.18.0,<3.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + - google-auth[aiohttp]>=2.35.0,<3.0.dev0 ; extra == 'async-rest' - grpcio>=1.33.2,<2.0.dev0 ; extra == 'grpc' - grpcio-status>=1.33.2,<2.0.dev0 ; extra == 'grpc' + - grpcio>=1.49.1,<2.0.dev0 ; python_full_version >= '3.11' and extra == 'grpc' + - grpcio-status>=1.49.1,<2.0.dev0 ; python_full_version >= '3.11' and extra == 'grpc' - grpcio-gcp>=0.2.2,<1.0.dev0 ; extra == 'grpcgcp' - grpcio-gcp>=0.2.2,<1.0.dev0 ; extra == 'grpcio-gcp' requires_python: '>=3.7' - kind: pypi name: google-api-python-client - version: 1.12.2 - url: https://files.pythonhosted.org/packages/70/ee/aa94b1af0d5d426a31b89d12e069c64c071e15efdafad70023858a4d52fe/google_api_python_client-1.12.2-py2.py3-none-any.whl - sha256: 05cb331ed1aa15746f606c7e36ea51dbe7c29b1a5df9bbf58140901fe23d7142 + version: 2.160.0 + url: https://files.pythonhosted.org/packages/49/35/41623ac3b581781169eed7f5fcd24bc114c774dc491fab5c05d8eb81af36/google_api_python_client-2.160.0-py2.py3-none-any.whl + sha256: 63d61fb3e4cf3fb31a70a87f45567c22f6dfe87bbfa27252317e3e2c42900db4 requires_dist: - - httplib2>=0.9.2,<1.dev0 - - google-auth>=1.16.0 - - google-auth-httplib2>=0.0.3 - - google-api-core>=1.21.0,<2.dev0 - - six>=1.13.0,<2.dev0 - - uritemplate>=3.0.0,<4.dev0 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + - httplib2>=0.19.0,<1.dev0 + - google-auth>=1.32.0,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - google-auth-httplib2>=0.2.0,<1.0.0 + - google-api-core>=1.31.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0 + - uritemplate>=3.0.1,<5 + requires_python: '>=3.7' - kind: pypi name: google-apitools - version: 0.5.28 - url: https://files.pythonhosted.org/packages/7f/32/df3e36fd705a00092f1ffa9f41ce1df8dcb594ae313d239b87861a41fc2e/google-apitools-0.5.28.tar.gz - sha256: c41792b0cb1a9d952545a95bb5a18376fd727e4c4977d6fa3f1643d1d51a7177 + version: 0.5.31 + url: https://files.pythonhosted.org/packages/19/da/aefc4cf4c168b5d875344cd9dddc77e3a2d11986b630251af5ce47dd2843/google-apitools-0.5.31.tar.gz + sha256: 4af0dd6dd4582810690251f0b57a97c1873dadfda54c5bc195844c8907624170 requires_dist: - httplib2>=0.8 - fasteners>=0.14 - oauth2client>=1.4.12 - six>=1.12.0 - python-gflags>=3.0.6 ; extra == 'cli' - - unittest2>=0.5.1 ; extra == 'testing' - mock>=1.0.1 ; extra == 'testing' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*' - kind: pypi name: google-auth - version: 1.35.0 - url: https://files.pythonhosted.org/packages/fb/7a/1b3eb54caee1b8c73c2c3645f78a382eca4805a301a30c64a078e736e446/google_auth-1.35.0-py2.py3-none-any.whl - sha256: 997516b42ecb5b63e8d80f5632c1a61dddf41d2a4c2748057837e06e00014258 + version: 2.38.0 + url: https://files.pythonhosted.org/packages/9d/47/603554949a37bca5b7f894d51896a9c534b9eab808e2520a748e081669d0/google_auth-2.38.0-py2.py3-none-any.whl + sha256: e7dae6694313f434a2727bf2906f27ad259bae090d7aa896590d86feec3d9d4a requires_dist: - - cachetools>=2.0.0,<5.0 + - cachetools>=2.0.0,<6.0 - pyasn1-modules>=0.2.1 - - setuptools>=40.3.0 - - six>=1.9.0 - - rsa<4.6 ; python_full_version < '3.6' - - rsa>=3.1.4,<5 ; python_full_version >= '3.6' + - rsa>=3.1.4,<5 + - aiohttp>=3.6.2,<4.0.0.dev0 ; extra == 'aiohttp' - requests>=2.20.0,<3.0.0.dev0 ; extra == 'aiohttp' - - aiohttp>=3.6.2,<4.0.0.dev0 ; python_full_version >= '3.6' and extra == 'aiohttp' + - cryptography ; extra == 'enterprise-cert' + - pyopenssl ; extra == 'enterprise-cert' + - pyjwt>=2.0 ; extra == 'pyjwt' + - cryptography>=38.0.3 ; extra == 'pyjwt' - pyopenssl>=20.0.0 ; extra == 'pyopenssl' + - cryptography>=38.0.3 ; extra == 'pyopenssl' - pyu2f>=0.1.5 ; extra == 'reauth' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' + - requests>=2.20.0,<3.0.0.dev0 ; extra == 'requests' + requires_python: '>=3.7' - kind: pypi name: google-auth-httplib2 - version: 0.0.4 - url: https://files.pythonhosted.org/packages/bd/4e/992849016f8b0c27fb604aafd0a7a724db16128906197bd1245c6f18e6a1/google_auth_httplib2-0.0.4-py2.py3-none-any.whl - sha256: aeaff501738b289717fac1980db9711d77908a6c227f60e4aa1923410b43e2ee + version: 0.2.0 + url: https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl + sha256: b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d requires_dist: - google-auth - - httplib2>=0.9.1 - - six + - httplib2>=0.19.0 - kind: pypi name: google-auth-oauthlib - version: 0.5.3 - url: https://files.pythonhosted.org/packages/04/74/8a2664dc7b5494ebef67f876467d7a2336810affcd0b9f7cf325631314ac/google_auth_oauthlib-0.5.3-py2.py3-none-any.whl - sha256: 9e8ff4ed2b21c174a2d6cc2172c698dbf0b1f686509774c663a83c495091fe09 + version: 1.2.1 + url: https://files.pythonhosted.org/packages/1a/8e/22a28dfbd218033e4eeaf3a0533b2b54852b6530da0c0fe934f0cc494b29/google_auth_oauthlib-1.2.1-py2.py3-none-any.whl + sha256: 2d58a27262d55aa1b87678c3ba7142a080098cbc2024f903c62355deb235d91f requires_dist: - - google-auth>=1.0.0 + - google-auth>=2.15.0 - requests-oauthlib>=0.7.0 - click>=6.0.0 ; extra == 'tool' requires_python: '>=3.6' +- kind: pypi + name: google-cloud-aiplatform + version: 1.79.0 + url: https://files.pythonhosted.org/packages/d9/df/a7629fc1c405ead82249a70903068992932cc5a8c494c396e22995b4429d/google_cloud_aiplatform-1.79.0-py2.py3-none-any.whl + sha256: e52d518c386ce2b4ce57f1b73b46c57531d9a6ccd70c21a37b349f428bfc1c3f + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0.dev0 + - google-auth>=2.14.1,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - packaging>=14.3 + - google-cloud-storage>=1.32.0,<3.0.0.dev0 + - google-cloud-bigquery>=1.15.0,!=3.20.0,<4.0.0.dev0 + - google-cloud-resource-manager>=1.3.3,<3.0.0.dev0 + - shapely<3.0.0.dev0 + - pydantic<3 + - typing-extensions + - docstring-parser<1 + - mlflow>=1.27.0,<=2.16.0 ; extra == 'autologging' + - tensorboard-plugin-profile>=2.4.0,<2.18.0 ; extra == 'cloud-profiler' + - werkzeug>=2.0.0,<2.1.0.dev0 ; extra == 'cloud-profiler' + - tensorflow>=2.4.0,<3.0.0.dev0 ; extra == 'cloud-profiler' + - pyarrow>=3.0.0,<8.0.dev0 ; python_full_version < '3.11' and extra == 'datasets' + - pyarrow>=10.0.1 ; python_full_version == '3.11.*' and extra == 'datasets' + - pyarrow>=14.0.0 ; python_full_version >= '3.12' and extra == 'datasets' + - requests>=2.28.1 ; extra == 'endpoint' + - pandas>=1.0.0 ; extra == 'evaluation' + - tqdm>=4.23.0 ; extra == 'evaluation' + - scikit-learn<1.6.0 ; python_full_version < '3.11' and extra == 'evaluation' + - scikit-learn ; python_full_version >= '3.11' and extra == 'evaluation' + - google-cloud-bigquery ; extra == 'full' + - docker>=5.0.3 ; extra == 'full' + - tensorboard-plugin-profile>=2.4.0,<2.18.0 ; extra == 'full' + - werkzeug>=2.0.0,<2.1.0.dev0 ; extra == 'full' + - urllib3>=1.21.1,<1.27 ; extra == 'full' + - mlflow>=1.27.0,<=2.16.0 ; extra == 'full' + - fastapi>=0.71.0,<=0.114.0 ; extra == 'full' + - uvicorn[standard]>=0.16.0 ; extra == 'full' + - requests>=2.28.1 ; extra == 'full' + - immutabledict ; extra == 'full' + - lit-nlp==0.4.0 ; extra == 'full' + - tensorflow>=2.4.0,<3.0.0.dev0 ; extra == 'full' + - tqdm>=4.23.0 ; extra == 'full' + - pyyaml>=5.3.1,<7 ; extra == 'full' + - google-cloud-bigquery-storage ; extra == 'full' + - explainable-ai-sdk>=1.0.0 ; extra == 'full' + - setuptools<70.0.0 ; extra == 'full' + - starlette>=0.17.1 ; extra == 'full' + - pandas>=1.0.0 ; extra == 'full' + - numpy>=1.15.0 ; extra == 'full' + - pyarrow>=6.0.1 ; extra == 'full' + - google-vizier>=0.1.6 ; extra == 'full' + - httpx>=0.23.0,<0.25.0 ; extra == 'full' + - tensorflow>=2.3.0,<3.0.0.dev0 ; extra == 'full' + - ray[default]>=2.4,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.0,!=2.9.1,!=2.9.2,!=2.10.*,!=2.11.*,!=2.12.*,!=2.13.*,!=2.14.*,!=2.15.*,!=2.16.*,!=2.17.*,!=2.18.*,!=2.19.*,!=2.20.*,!=2.21.*,!=2.22.*,!=2.23.*,!=2.24.*,!=2.25.*,!=2.26.*,!=2.27.*,!=2.28.*,!=2.29.*,!=2.30.*,!=2.31.*,!=2.32.*,<=2.33.0 ; python_full_version < '3.11' and extra == 'full' + - pyarrow>=3.0.0,<8.0.dev0 ; python_full_version < '3.11' and extra == 'full' + - scikit-learn<1.6.0 ; python_full_version < '3.11' and extra == 'full' + - tensorflow>=2.3.0,<3.0.0.dev0 ; python_full_version < '3.12' and extra == 'full' + - pyarrow>=10.0.1 ; python_full_version == '3.11.*' and extra == 'full' + - ray[default]>=2.5,<=2.33.0 ; python_full_version == '3.11.*' and extra == 'full' + - scikit-learn ; python_full_version >= '3.11' and extra == 'full' + - pyarrow>=14.0.0 ; python_full_version >= '3.12' and extra == 'full' + - langchain>=0.1.16,<0.4 ; extra == 'langchain' + - langchain-core<0.4 ; extra == 'langchain' + - langchain-google-vertexai<3 ; extra == 'langchain' + - langgraph>=0.2.45,<0.3 ; extra == 'langchain' + - openinference-instrumentation-langchain>=0.1.19,<0.2 ; extra == 'langchain' + - langchain>=0.1.16,<0.4 ; extra == 'langchain-testing' + - langgraph>=0.2.45,<0.3 ; extra == 'langchain-testing' + - opentelemetry-sdk<2 ; extra == 'langchain-testing' + - langchain-google-vertexai<3 ; extra == 'langchain-testing' + - google-cloud-trace<2 ; extra == 'langchain-testing' + - typing-extensions ; extra == 'langchain-testing' + - pytest-xdist ; extra == 'langchain-testing' + - absl-py ; extra == 'langchain-testing' + - openinference-instrumentation-langchain>=0.1.19,<0.2 ; extra == 'langchain-testing' + - cloudpickle>=3.0,<4.0 ; extra == 'langchain-testing' + - opentelemetry-exporter-gcp-trace<2 ; extra == 'langchain-testing' + - langchain-core<0.4 ; extra == 'langchain-testing' + - pydantic>=2.6.3,<3 ; extra == 'langchain-testing' + - tensorflow>=2.3.0,<3.0.0.dev0 ; extra == 'lit' + - pandas>=1.0.0 ; extra == 'lit' + - lit-nlp==0.4.0 ; extra == 'lit' + - explainable-ai-sdk>=1.0.0 ; extra == 'lit' + - pandas>=1.0.0 ; extra == 'metadata' + - numpy>=1.15.0 ; extra == 'metadata' + - pyyaml>=5.3.1,<7 ; extra == 'pipelines' + - docker>=5.0.3 ; extra == 'prediction' + - fastapi>=0.71.0,<=0.114.0 ; extra == 'prediction' + - httpx>=0.23.0,<0.25.0 ; extra == 'prediction' + - starlette>=0.17.1 ; extra == 'prediction' + - uvicorn[standard]>=0.16.0 ; extra == 'prediction' + - urllib3>=1.21.1,<1.27 ; extra == 'private-endpoints' + - requests>=2.28.1 ; extra == 'private-endpoints' + - setuptools<70.0.0 ; extra == 'ray' + - google-cloud-bigquery-storage ; extra == 'ray' + - google-cloud-bigquery ; extra == 'ray' + - pandas>=1.0.0 ; extra == 'ray' + - pyarrow>=6.0.1 ; extra == 'ray' + - immutabledict ; extra == 'ray' + - ray[default]>=2.4,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.0,!=2.9.1,!=2.9.2,!=2.10.*,!=2.11.*,!=2.12.*,!=2.13.*,!=2.14.*,!=2.15.*,!=2.16.*,!=2.17.*,!=2.18.*,!=2.19.*,!=2.20.*,!=2.21.*,!=2.22.*,!=2.23.*,!=2.24.*,!=2.25.*,!=2.26.*,!=2.27.*,!=2.28.*,!=2.29.*,!=2.30.*,!=2.31.*,!=2.32.*,<=2.33.0 ; python_full_version < '3.11' and extra == 'ray' + - ray[default]>=2.5,<=2.33.0 ; python_full_version == '3.11.*' and extra == 'ray' + - setuptools<70.0.0 ; extra == 'ray-testing' + - google-cloud-bigquery-storage ; extra == 'ray-testing' + - google-cloud-bigquery ; extra == 'ray-testing' + - pandas>=1.0.0 ; extra == 'ray-testing' + - pyarrow>=6.0.1 ; extra == 'ray-testing' + - immutabledict ; extra == 'ray-testing' + - pytest-xdist ; extra == 'ray-testing' + - ray[train] ; extra == 'ray-testing' + - scikit-learn<1.6.0 ; extra == 'ray-testing' + - tensorflow ; extra == 'ray-testing' + - torch>=2.0.0,<2.1.0 ; extra == 'ray-testing' + - xgboost ; extra == 'ray-testing' + - xgboost-ray ; extra == 'ray-testing' + - ray[default]>=2.4,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.0,!=2.9.1,!=2.9.2,!=2.10.*,!=2.11.*,!=2.12.*,!=2.13.*,!=2.14.*,!=2.15.*,!=2.16.*,!=2.17.*,!=2.18.*,!=2.19.*,!=2.20.*,!=2.21.*,!=2.22.*,!=2.23.*,!=2.24.*,!=2.25.*,!=2.26.*,!=2.27.*,!=2.28.*,!=2.29.*,!=2.30.*,!=2.31.*,!=2.32.*,<=2.33.0 ; python_full_version < '3.11' and extra == 'ray-testing' + - ray[default]>=2.5,<=2.33.0 ; python_full_version == '3.11.*' and extra == 'ray-testing' + - cloudpickle>=3.0,<4.0 ; extra == 'reasoningengine' + - google-cloud-trace<2 ; extra == 'reasoningengine' + - opentelemetry-sdk<2 ; extra == 'reasoningengine' + - opentelemetry-exporter-gcp-trace<2 ; extra == 'reasoningengine' + - pydantic>=2.6.3,<3 ; extra == 'reasoningengine' + - typing-extensions ; extra == 'reasoningengine' + - tensorboard-plugin-profile>=2.4.0,<2.18.0 ; extra == 'tensorboard' + - werkzeug>=2.0.0,<2.1.0.dev0 ; extra == 'tensorboard' + - tensorflow>=2.4.0,<3.0.0.dev0 ; extra == 'tensorboard' + - tensorflow>=2.3.0,<3.0.0.dev0 ; python_full_version < '3.12' and extra == 'tensorboard' + - google-cloud-bigquery ; extra == 'testing' + - docker>=5.0.3 ; extra == 'testing' + - tensorboard-plugin-profile>=2.4.0,<2.18.0 ; extra == 'testing' + - werkzeug>=2.0.0,<2.1.0.dev0 ; extra == 'testing' + - urllib3>=1.21.1,<1.27 ; extra == 'testing' + - mlflow>=1.27.0,<=2.16.0 ; extra == 'testing' + - fastapi>=0.71.0,<=0.114.0 ; extra == 'testing' + - uvicorn[standard]>=0.16.0 ; extra == 'testing' + - requests>=2.28.1 ; extra == 'testing' + - immutabledict ; extra == 'testing' + - lit-nlp==0.4.0 ; extra == 'testing' + - tensorflow>=2.4.0,<3.0.0.dev0 ; extra == 'testing' + - tqdm>=4.23.0 ; extra == 'testing' + - pyyaml>=5.3.1,<7 ; extra == 'testing' + - google-cloud-bigquery-storage ; extra == 'testing' + - explainable-ai-sdk>=1.0.0 ; extra == 'testing' + - setuptools<70.0.0 ; extra == 'testing' + - starlette>=0.17.1 ; extra == 'testing' + - pandas>=1.0.0 ; extra == 'testing' + - numpy>=1.15.0 ; extra == 'testing' + - pyarrow>=6.0.1 ; extra == 'testing' + - google-vizier>=0.1.6 ; extra == 'testing' + - httpx>=0.23.0,<0.25.0 ; extra == 'testing' + - tensorflow>=2.3.0,<3.0.0.dev0 ; extra == 'testing' + - sentencepiece>=0.2.0 ; extra == 'testing' + - nltk ; extra == 'testing' + - aiohttp ; extra == 'testing' + - google-api-core>=2.11,<3.0.0 ; extra == 'testing' + - grpcio-testing ; extra == 'testing' + - ipython ; extra == 'testing' + - kfp>=2.6.0,<3.0.0 ; extra == 'testing' + - pytest-asyncio ; extra == 'testing' + - pytest-xdist ; extra == 'testing' + - requests-toolbelt<1.0.0 ; extra == 'testing' + - xgboost ; extra == 'testing' + - ray[default]>=2.4,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.0,!=2.9.1,!=2.9.2,!=2.10.*,!=2.11.*,!=2.12.*,!=2.13.*,!=2.14.*,!=2.15.*,!=2.16.*,!=2.17.*,!=2.18.*,!=2.19.*,!=2.20.*,!=2.21.*,!=2.22.*,!=2.23.*,!=2.24.*,!=2.25.*,!=2.26.*,!=2.27.*,!=2.28.*,!=2.29.*,!=2.30.*,!=2.31.*,!=2.32.*,<=2.33.0 ; python_full_version < '3.11' and extra == 'testing' + - pyarrow>=3.0.0,<8.0.dev0 ; python_full_version < '3.11' and extra == 'testing' + - scikit-learn<1.6.0 ; python_full_version < '3.11' and extra == 'testing' + - tensorflow>=2.3.0,<3.0.0.dev0 ; python_full_version < '3.12' and extra == 'testing' + - tensorflow==2.13.0 ; python_full_version < '3.12' and extra == 'testing' + - torch>=2.0.0,<2.1.0 ; python_full_version < '3.12' and extra == 'testing' + - pyarrow>=10.0.1 ; python_full_version == '3.11.*' and extra == 'testing' + - ray[default]>=2.5,<=2.33.0 ; python_full_version == '3.11.*' and extra == 'testing' + - scikit-learn ; python_full_version >= '3.11' and extra == 'testing' + - tensorflow==2.16.1 ; python_full_version >= '3.12' and extra == 'testing' + - torch>=2.2.0 ; python_full_version >= '3.12' and extra == 'testing' + - bigframes ; python_full_version >= '3.10' and extra == 'testing' + - pyarrow>=14.0.0 ; python_full_version >= '3.12' and extra == 'testing' + - sentencepiece>=0.2.0 ; extra == 'tokenization' + - google-vizier>=0.1.6 ; extra == 'vizier' + - tensorflow>=2.3.0,<3.0.0.dev0 ; extra == 'xai' + requires_python: '>=3.8' - kind: pypi name: google-cloud-bigquery - version: 1.17.0 - url: https://files.pythonhosted.org/packages/d7/72/e88edd9a0b3c16a7b2c4107b1a9d3ff182b84a29f051ae15293e1375d7fe/google_cloud_bigquery-1.17.0-py2.py3-none-any.whl - sha256: ce9dfc4407c938b44287fe68da387a0da1bb15da4b7cfa43db864f66a8bb310c - requires_dist: - - google-cloud-core>=1.0.0,<2.0.dev0 - - google-resumable-media>=0.3.1 - - protobuf>=3.6.0 - - enum34 ; python_full_version < '3.4' - - google-cloud-bigquery-storage>=0.6.0,<2.0.0.dev0 ; extra == 'all' - - pyarrow>=0.13.0,!=0.14.0 ; extra == 'all' - - pandas>=0.17.1 ; extra == 'all' - - pyarrow>=0.4.1,!=0.14.0 ; extra == 'all' - - tqdm>=4.0.0,<5.0.0.dev0 ; extra == 'all' - - google-cloud-bigquery-storage>=0.6.0,<2.0.0.dev0 ; extra == 'bqstorage' - - pyarrow>=0.13.0,!=0.14.0 ; extra == 'bqstorage' - - fastparquet ; extra == 'fastparquet' - - python-snappy ; extra == 'fastparquet' - - pandas>=0.17.1 ; extra == 'pandas' - - pyarrow>=0.4.1,!=0.14.0 ; (platform_system != 'Windows' and extra == 'pyarrow') or (python_full_version >= '3.4' and extra == 'pyarrow') - - tqdm>=4.0.0,<5.0.0.dev0 ; extra == 'tqdm' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + version: 3.29.0 + url: https://files.pythonhosted.org/packages/68/60/9e1430f0fe17f8e8e931eff468021516f74f2573f261221529767dd59591/google_cloud_bigquery-3.29.0-py2.py3-none-any.whl + sha256: 5453a4eabe50118254eda9778f3d7dad413490de5f7046b5e66c98f5a1580308 + requires_dist: + - google-api-core[grpc]>=2.11.1,<3.0.0.dev0 + - google-auth>=2.14.1,<3.0.0.dev0 + - google-cloud-core>=2.4.1,<3.0.0.dev0 + - google-resumable-media>=2.0.0,<3.0.dev0 + - packaging>=20.0.0 + - python-dateutil>=2.7.3,<3.0.dev0 + - requests>=2.21.0,<3.0.0.dev0 + - google-cloud-bigquery[bigquery-v2,bqstorage,geopandas,ipython,ipywidgets,opentelemetry,pandas,tqdm] ; extra == 'all' + - proto-plus>=1.22.3,<2.0.0.dev0 ; extra == 'bigquery-v2' + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 ; extra == 'bigquery-v2' + - google-cloud-bigquery-storage>=2.6.0,<3.0.0.dev0 ; extra == 'bqstorage' + - grpcio>=1.47.0,<2.0.dev0 ; extra == 'bqstorage' + - pyarrow>=3.0.0 ; extra == 'bqstorage' + - grpcio>=1.49.1,<2.0.dev0 ; python_full_version >= '3.11' and extra == 'bqstorage' + - geopandas>=0.9.0,<2.0.dev0 ; extra == 'geopandas' + - shapely>=1.8.4,<3.0.0.dev0 ; extra == 'geopandas' + - bigquery-magics>=0.1.0 ; extra == 'ipython' + - ipywidgets>=7.7.0 ; extra == 'ipywidgets' + - ipykernel>=6.0.0 ; extra == 'ipywidgets' + - opentelemetry-api>=1.1.0 ; extra == 'opentelemetry' + - opentelemetry-sdk>=1.1.0 ; extra == 'opentelemetry' + - opentelemetry-instrumentation>=0.20b0 ; extra == 'opentelemetry' + - pandas>=1.1.0 ; extra == 'pandas' + - pyarrow>=3.0.0 ; extra == 'pandas' + - db-dtypes>=0.3.0,<2.0.0.dev0 ; extra == 'pandas' + - importlib-metadata>=1.0.0 ; python_full_version < '3.8' and extra == 'pandas' + - tqdm>=4.7.4,<5.0.0.dev0 ; extra == 'tqdm' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-bigquery-storage + version: 2.27.0 + url: https://files.pythonhosted.org/packages/9f/ed/b7a74ae48435854ec2352f58c21e358df14458bafe4b0d237a8649326f9c/google_cloud_bigquery_storage-2.27.0-py2.py3-none-any.whl + sha256: 3bfa8f74a61ceaffd3bfe90be5bbef440ad81c1c19ac9075188cccab34bffc2b + requires_dist: + - google-api-core[grpc]>=1.34.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,<3.0.0.dev0 + - proto-plus>=1.22.0,<2.0.0.dev0 + - protobuf!=3.20.0,!=3.20.1,>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.22.2,<2.0.0.dev0 ; python_full_version >= '3.11' + - fastavro>=0.21.2 ; extra == 'fastavro' + - pandas>=0.21.1 ; extra == 'pandas' + - importlib-metadata>=1.0.0 ; python_full_version < '3.8' and extra == 'pandas' + - pyarrow>=0.15.0 ; extra == 'pyarrow' + requires_python: '>=3.7' - kind: pypi name: google-cloud-bigtable - version: 1.0.0 - url: https://files.pythonhosted.org/packages/95/af/0ef7d097a1d5ad0c843867600e86de915e8ab8864740f49a4636cfb51af6/google_cloud_bigtable-1.0.0-py2.py3-none-any.whl - sha256: 4323362b836ddf9e7324b0be1a34e3f80d09729356233c05e969b577244c49a3 + version: 2.28.1 + url: https://files.pythonhosted.org/packages/f7/92/1a1e082cbc3a233b9ea4861b0124a1e8a37d6c59904e25f090e1a6038769/google_cloud_bigtable-2.28.1-py2.py3-none-any.whl + sha256: 1ae68b8092b70deb63b83273f0b335289ba8da57fc8c0e40c34103d67019de97 requires_dist: - - google-api-core[grpc]>=1.14.0,<2.0.0.dev0 - - google-cloud-core>=1.0.0,<2.0.dev0 - - grpc-google-iam-v1>=0.12.3,<0.13.dev0 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + - google-api-core[grpc]>=2.16.0,<3.0.0.dev0 + - google-cloud-core>=1.4.4,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - grpc-google-iam-v1>=0.12.4,<1.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - libcst>=0.2.5 ; extra == 'libcst' + requires_python: '>=3.7' - kind: pypi name: google-cloud-core - version: 1.7.3 - url: https://files.pythonhosted.org/packages/18/52/f1e01017a8e799e303b53f458bc5a09f864b7ac47a5afafbb6effed05b6d/google_cloud_core-1.7.3-py2.py3-none-any.whl - sha256: d5af737c60a73b9588a0511332ac0cdc6294ad8e477c7b82be03a1afc7c3f7b6 + version: 2.4.1 + url: https://files.pythonhosted.org/packages/5e/0f/2e2061e3fbcb9d535d5da3f58cc8de4947df1786fe6a1355960feb05a681/google_cloud_core-2.4.1-py2.py3-none-any.whl + sha256: a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61 requires_dist: - - google-api-core>=1.21.0,<3.0.0.dev0 - - google-auth>=1.24.0,<2.0.dev0 - - six>=1.12.0 - - grpcio>=1.8.2,<2.0.dev0 ; extra == 'grpc' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' + - google-api-core>=1.31.6,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0 + - google-auth>=1.25.0,<3.0.dev0 + - importlib-metadata>1.0.0 ; python_full_version < '3.8' + - grpcio>=1.38.0,<2.0.dev0 ; extra == 'grpc' + - grpcio-status>=1.38.0,<2.0.dev0 ; extra == 'grpc' + requires_python: '>=3.7' - kind: pypi name: google-cloud-datastore - version: 1.7.4 - url: https://files.pythonhosted.org/packages/d0/aa/29cbcf8cf7d08ce2d55b9dce858f7c632b434cb6451bed17cb4275804217/google_cloud_datastore-1.7.4-py2.py3-none-any.whl - sha256: ffb075abf606ebd248c3ad76ac0e6d3e93858d8c61a063139938a162a58b28d0 + version: 2.20.2 + url: https://files.pythonhosted.org/packages/c6/0f/7af12d058dc907663a0d97fc268f02ebcecb31ca963e0d6ef439d65e09c4/google_cloud_datastore-2.20.2-py2.py3-none-any.whl + sha256: d2190180343b807d4aa3b0b3bb837606349b71e5e74e29aa9009c0ae38c0b6a0 requires_dist: - - google-api-core[grpc]>=1.6.0,<2.0.0.dev0 - - google-cloud-core>=0.29.0,<2.0.dev0 - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + - google-api-core[grpc]>=1.34.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - google-cloud-core>=1.4.0,<3.0.0.dev0 + - proto-plus>=1.22.0,<2.0.0.dev0 + - protobuf!=3.20.0,!=3.20.1,>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.22.2,<2.0.0.dev0 ; python_full_version >= '3.11' + - libcst>=0.2.5 ; extra == 'libcst' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-dlp + version: 3.26.0 + url: https://files.pythonhosted.org/packages/81/41/d9b818387c56bf96d0d03a076c0407f39eb64b9cae61c45af18820457f86/google_cloud_dlp-3.26.0-py2.py3-none-any.whl + sha256: 3f9e76b7a1c81af4012951435ed60c80623fc39d03e1e875a924013266b2a595 + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-language + version: 2.16.0 + url: https://files.pythonhosted.org/packages/e3/43/c103ffae8069d1e1da9e05fb0116a654a215b62b8585e4f916b2a68ed328/google_cloud_language-2.16.0-py2.py3-none-any.whl + sha256: 7e040425be5960cde34229fa850b9e4859e455157134aada52dc75490d59c1de + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + requires_python: '>=3.7' - kind: pypi name: google-cloud-pubsub - version: 1.0.2 - url: https://files.pythonhosted.org/packages/d3/91/07a82945a7396ea34debafd476724bb5fc267c292790fdf2138c693f95c5/google_cloud_pubsub-1.0.2-py2.py3-none-any.whl - sha256: 12ff565ef00e4ca19d2ae26ae4515070094ba857d7c7024370dbed81fc7d58ab + version: 2.28.0 + url: https://files.pythonhosted.org/packages/b9/33/07636ce3dd59016ab88b98fbb9e614c76d8f210f5c8feec2db5891f6dc5d/google_cloud_pubsub-2.28.0-py2.py3-none-any.whl + sha256: 76b41a322b43bc845fb06ffe238758726324d957d0161bae3ff4b14339da144b requires_dist: - - google-api-core[grpc]>=1.14.0,<2.0.0.dev0 - - grpc-google-iam-v1>=0.12.3,<0.13.dev0 - - enum34 ; python_full_version < '3.4' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + - grpcio>=1.51.3,<2.0.dev0 + - google-auth>=2.14.1,<3.0.0.dev0 + - google-api-core[grpc]>=1.34.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - proto-plus>=1.22.0,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - grpc-google-iam-v1>=0.12.4,<1.0.0.dev0 + - grpcio-status>=1.33.2 + - opentelemetry-api<=1.22.0 ; python_full_version < '3.8' + - opentelemetry-sdk<=1.22.0 ; python_full_version < '3.8' + - proto-plus>=1.22.2,<2.0.0.dev0 ; python_full_version >= '3.11' + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + - opentelemetry-api>=1.27.0 ; python_full_version >= '3.8' + - opentelemetry-sdk>=1.27.0 ; python_full_version >= '3.8' + - libcst>=0.3.10 ; extra == 'libcst' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-pubsublite + version: 1.11.1 + url: https://files.pythonhosted.org/packages/03/8b/f0cd7f3b16fe8ab0f449868b5d62868d7c03cd10326acd3472476305c2e3/google_cloud_pubsublite-1.11.1-py2.py3-none-any.whl + sha256: 8aa76f709d18c5bf730b3c6e49f0eefe80323d6c48972126ae02d032ce1a892d + requires_dist: + - google-cloud-pubsub>=2.10.0,<3.0.0.dev0 + - grpcio>=1.38.1,<2.0.0.dev0 + - grpcio-status>=1.38.1,<2.0.0.dev0 + - overrides>=6.0.1,<8.0.0 + - google-api-core[grpc]>=1.33.2,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,<3.0.0.dev0 + - overrides>=7.0.1,<8.0.0 ; python_full_version >= '3.12' + requires_python: '>=3.8' +- kind: pypi + name: google-cloud-recommendations-ai + version: 0.10.15 + url: https://files.pythonhosted.org/packages/3a/ed/c579fa8f48fb070ed50b3de4a9b72b3909197c57735b5b45cd977504d043/google_cloud_recommendations_ai-0.10.15-py2.py3-none-any.whl + sha256: 90c0ea658e3f869564a23944b1331a20e0b0b3bd105481611e3337b6fd667380 + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-resource-manager + version: 1.14.0 + url: https://files.pythonhosted.org/packages/64/c4/2275ca35419f9a2ae66846f389490b356856bf55a9ad9f95a88399a89294/google_cloud_resource_manager-1.14.0-py2.py3-none-any.whl + sha256: 4860c3ea9ace760b317ea90d4e27f1b32e54ededdcc340a7cb70c8ef238d8f7c + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - grpc-google-iam-v1>=0.12.4,<1.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-spanner + version: 3.51.0 + url: https://files.pythonhosted.org/packages/cc/b0/b0328d320d80d6963e7c4eb1e07a40d791f2c2847cda6af033141b02852a/google_cloud_spanner-3.51.0-py2.py3-none-any.whl + sha256: 2d01f33582526ebe7fab62034e92e722e512c21f6bc4abe27e03d86ef7ea576a + requires_dist: + - google-api-core[grpc]>=1.34.0,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-cloud-core>=1.4.4,<3.0.dev0 + - grpc-google-iam-v1>=0.12.4,<1.0.0.dev0 + - proto-plus>=1.22.0,<2.0.0.dev0 + - sqlparse>=0.4.4 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - grpc-interceptor>=0.15.4 + - proto-plus>=1.22.2,<2.0.0.dev0 ; python_full_version >= '3.11' + - libcst>=0.2.5 ; extra == 'libcst' + - opentelemetry-api>=1.22.0 ; extra == 'tracing' + - opentelemetry-sdk>=1.22.0 ; extra == 'tracing' + - opentelemetry-semantic-conventions>=0.43b0 ; extra == 'tracing' + requires_python: '>=3.7' - kind: pypi name: google-cloud-storage - version: 2.2.1 - url: https://files.pythonhosted.org/packages/bf/35/b856f2ff76cdbdc88b295e0a85d2a5375386896952872f7b87029da2b89a/google_cloud_storage-2.2.1-py2.py3-none-any.whl - sha256: abdf0fadf26516172e804e00b9c24819a3b3f7351cd32f35ca249bbfac965494 + version: 2.19.0 + url: https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl + sha256: aeb971b5c29cf8ab98445082cbfe7b161a1f48ed275822f59ed3f1524ea54fba requires_dist: - - google-auth>=1.25.0,<3.0.dev0 - - google-api-core>=1.31.5,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0.dev0 - - google-cloud-core>=1.6.0,<3.0.dev0 - - google-resumable-media>=2.3.2 + - google-auth>=2.26.1,<3.0.dev0 + - google-api-core>=2.15.0,<3.0.0.dev0 + - google-cloud-core>=2.3.0,<3.0.dev0 + - google-resumable-media>=2.7.2 - requests>=2.18.0,<3.0.0.dev0 - - protobuf + - google-crc32c>=1.0,<2.0.dev0 + - protobuf<6.0.0.dev0 ; extra == 'protobuf' + - opentelemetry-api>=1.1.0 ; extra == 'tracing' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-videointelligence + version: 2.15.0 + url: https://files.pythonhosted.org/packages/49/1a/108e7867b28c93274812ac8107202d93e338f9d190a05f877d41ce86391e/google_cloud_videointelligence-2.15.0-py2.py3-none-any.whl + sha256: a42909d96efbddac66ee872aaeadf875f976263834445e707581929d4ecf5999 + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' + requires_python: '>=3.7' +- kind: pypi + name: google-cloud-vision + version: 3.9.0 + url: https://files.pythonhosted.org/packages/b7/53/54440af12f0b198c8402c1b104a5dd955d49cd71ac4cd5d4a10a3c58a301/google_cloud_vision-3.9.0-py2.py3-none-any.whl + sha256: 9acec27ee05bd197f0d89c97e9719712ef245e0c37fd428e6af09a15a082fbef + requires_dist: + - google-api-core[grpc]>=1.34.1,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*,<3.0.0.dev0 + - google-auth>=2.14.1,!=2.24.0,!=2.25.0,<3.0.0.dev0 + - proto-plus>=1.22.3,<2.0.0.dev0 + - protobuf>=3.20.2,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 + - proto-plus>=1.25.0,<2.0.0.dev0 ; python_full_version >= '3.13' requires_python: '>=3.7' - kind: pypi name: google-crc32c @@ -1096,32 +2114,41 @@ packages: requires_python: '>=3.7' - kind: pypi name: grpc-google-iam-v1 - version: 0.12.7 - url: https://files.pythonhosted.org/packages/5f/4b/404f59d065a410e835576433bc296599ae093460c7724fa5d5ca2354a885/grpc_google_iam_v1-0.12.7-py2.py3-none-any.whl - sha256: 834da89f4c4a2abbe842a793ed20fc6d9a77011ef2626755b1b89116fb9596d7 + version: 0.14.0 + url: https://files.pythonhosted.org/packages/66/b4/ab54f7fda4af43ca5c094bc1d6341780fd669c44ae18952b5337029b1d98/grpc_google_iam_v1-0.14.0-py2.py3-none-any.whl + sha256: fb4a084b30099ba3ab07d61d620a0d4429570b13ff53bd37bac75235f98b7da4 requires_dist: - grpcio>=1.44.0,<2.0.0.dev0 - googleapis-common-protos[grpc]>=1.56.0,<2.0.0.dev0 - - protobuf>=3.19.5,!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0 + - protobuf>=3.20.2,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0.dev0 requires_python: '>=3.7' +- kind: pypi + name: grpc-interceptor + version: 0.15.4 + url: https://files.pythonhosted.org/packages/15/ac/8d53f230a7443401ce81791ec50a3b0e54924bf615ad287654fa4a2f5cdc/grpc_interceptor-0.15.4-py3-none-any.whl + sha256: 0035f33228693ed3767ee49d937bac424318db173fef4d2d0170b3215f254d9d + requires_dist: + - grpcio>=1.49.1,<2.0.0 + - protobuf>=4.21.9 ; extra == 'testing' + requires_python: '>=3.7,<4.0' - kind: pypi name: grpcio - version: 1.69.0 - url: https://files.pythonhosted.org/packages/35/4b/9ab8ea65e515e1844feced1ef9e7a5d8359c48d986c93f3d2a2006fbdb63/grpcio-1.69.0-cp312-cp312-macosx_10_14_universal2.whl - sha256: 0f0270bd9ffbff6961fe1da487bdcd594407ad390cc7960e738725d4807b18c4 + version: 1.65.5 + url: https://files.pythonhosted.org/packages/6b/8c/35a8d0f7135dbeb87f522ec743cd06423dba8eaec6c891f9466b0f46284c/grpcio-1.65.5-cp312-cp312-macosx_10_9_universal2.whl + sha256: 76991b7a6fb98630a3328839755181ce7c1aa2b1842aa085fd4198f0e5198960 requires_dist: - - grpcio-tools>=1.69.0 ; extra == 'protobuf' + - grpcio-tools>=1.65.5 ; extra == 'protobuf' requires_python: '>=3.8' - kind: pypi name: grpcio-status - version: 1.48.2 - url: https://files.pythonhosted.org/packages/14/32/754cd4474790239c7436a7a9490bc0c4a0a2ed604cb9a940151a3b1055b9/grpcio_status-1.48.2-py3-none-any.whl - sha256: 2c33bbdbe20188b2953f46f31af669263b6ee2a9b2d38fa0d36ee091532e21bf + version: 1.65.5 + url: https://files.pythonhosted.org/packages/9e/05/b21346efcf5bc01e3747ba6732f2f17bd04703f6a9a8a4ed8ff18119ebf0/grpcio_status-1.65.5-py3-none-any.whl + sha256: 44a445ce55375545a913e005be36fbec7999a4cc320d7aecb7a4469d3d49366c requires_dist: - - protobuf>=3.12.0 - - grpcio>=1.48.2 + - protobuf>=5.26.1,<6.0.dev0 + - grpcio>=1.65.5 - googleapis-common-protos>=1.5.5 - requires_python: '>=3.6' + requires_python: '>=3.8' - kind: pypi name: hdfs version: 2.7.3 @@ -1137,9 +2164,28 @@ packages: - requests-kerberos>=0.7.0 ; extra == 'kerberos' - kind: pypi name: httplib2 - version: 0.12.0 - url: https://files.pythonhosted.org/packages/ce/ed/803905d670b52fa0edfdd135337e545b4496c2ab3a222f1449b7256eb99f/httplib2-0.12.0.tar.gz - sha256: f61fb838a94ce3b349aa32c92fd8430f7e3511afdb18bf9640d647e30c90a6d6 + version: 0.22.0 + url: https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl + sha256: 14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc + requires_dist: + - pyparsing>=2.4.2,<3 ; python_full_version < '3.0' + - pyparsing>=2.4.2,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4 ; python_full_version >= '3.1' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: conda + name: icu + version: '75.1' + build: hfee45f7_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + sha256: 9ba12c93406f3df5ab0a43db8a4b4ef67a5871dfd401010fbe29b218b2cbe620 + md5: 5eb22c1d7b3fc4abb50d92d621583137 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 11857802 + timestamp: 1720853997952 - kind: pypi name: idna version: '3.10' @@ -1152,77 +2198,473 @@ packages: - flake8>=7.1.1 ; extra == 'all' requires_python: '>=3.6' - kind: pypi - name: iniconfig - version: 2.0.0 - url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl - sha256: b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 - requires_python: '>=3.7' + name: immutabledict + version: 4.2.1 + url: https://files.pythonhosted.org/packages/59/56/25ca7b848164b7d93dbd5fc97dd7751700c93e324fe854afbeb562ee2f98/immutabledict-4.2.1-py3-none-any.whl + sha256: c56a26ced38c236f79e74af3ccce53772827cef5c3bce7cab33ff2060f756373 + requires_python: '>=3.8' - kind: pypi - name: jinja2 - version: 3.1.4 - url: https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl - sha256: bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d + name: importlib-metadata + version: 8.5.0 + url: https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl + sha256: 45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b + requires_dist: + - zipp>=3.20 + - typing-extensions>=3.6.4 ; python_full_version < '3.8' + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pytest-enabler>=2.2 ; extra == 'enabler' + - ipython ; extra == 'perf' + - pytest>=6,!=8.1.* ; extra == 'test' + - packaging ; extra == 'test' + - pyfakefs ; extra == 'test' + - flufl-flake8 ; extra == 'test' + - pytest-perf>=0.9.2 ; extra == 'test' + - jaraco-test>=5.4 ; extra == 'test' + - importlib-resources>=1.3 ; python_full_version < '3.9' and extra == 'test' + - pytest-mypy ; extra == 'type' + requires_python: '>=3.8' +- kind: pypi + name: iniconfig + version: 2.0.0 + url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl + sha256: b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 + requires_python: '>=3.7' +- kind: pypi + name: jaraco-classes + version: 3.4.0 + url: https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl + sha256: f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 + requires_dist: + - more-itertools + - sphinx>=3.5 ; extra == 'docs' + - jaraco-packaging>=9.3 ; extra == 'docs' + - rst-linker>=1.9 ; extra == 'docs' + - furo ; extra == 'docs' + - sphinx-lint ; extra == 'docs' + - jaraco-tidelift>=1.4 ; extra == 'docs' + - pytest>=6 ; extra == 'testing' + - pytest-checkdocs>=2.4 ; extra == 'testing' + - pytest-cov ; extra == 'testing' + - pytest-mypy ; extra == 'testing' + - pytest-enabler>=2.2 ; extra == 'testing' + - pytest-ruff>=0.2.1 ; extra == 'testing' + requires_python: '>=3.8' +- kind: pypi + name: jaraco-context + version: 6.0.1 + url: https://files.pythonhosted.org/packages/ff/db/0c52c4cf5e4bd9f5d7135ec7669a3a767af21b3a308e1ed3674881e52b62/jaraco.context-6.0.1-py3-none-any.whl + sha256: f797fc481b490edb305122c9181830a3a5b76d84ef6d1aef2fb9b47ab956f9e4 + requires_dist: + - backports-tarfile ; python_full_version < '3.12' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pytest>=6,!=8.1.* ; extra == 'test' + - pytest-checkdocs>=2.4 ; extra == 'test' + - pytest-cov ; extra == 'test' + - pytest-mypy ; extra == 'test' + - pytest-enabler>=2.2 ; extra == 'test' + - portend ; extra == 'test' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'test' + requires_python: '>=3.8' +- kind: pypi + name: jaraco-functools + version: 4.1.0 + url: https://files.pythonhosted.org/packages/9f/4f/24b319316142c44283d7540e76c7b5a6dbd5db623abd86bb7b3491c21018/jaraco.functools-4.1.0-py3-none-any.whl + sha256: ad159f13428bc4acbf5541ad6dec511f91573b90fba04df61dafa2a1231cf649 + requires_dist: + - more-itertools + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest>=6,!=8.1.* ; extra == 'test' + - jaraco-classes ; extra == 'test' + - pytest-mypy ; extra == 'type' + requires_python: '>=3.8' +- kind: pypi + name: jinja2 + version: 3.1.5 + url: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl + sha256: aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb requires_dist: - markupsafe>=2.0 - babel>=2.7 ; extra == 'i18n' requires_python: '>=3.7' +- kind: conda + name: json-c + version: '0.18' + build: he4178ee_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda + sha256: 73179a1cd0b45c09d4f631cb359d9e755e6e573c5d908df42006728e0bf8297c + md5: 94f14ef6157687c30feb44e1abecd577 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 73715 + timestamp: 1726487214495 +- kind: pypi + name: jsonpickle + version: 3.4.2 + url: https://files.pythonhosted.org/packages/c0/a3/e610ae0feba3e7374da08ab6cc9bb76c8bfa84b4e502aa357bda0ef6dcae/jsonpickle-3.4.2-py3-none-any.whl + sha256: fd6c273278a02b3b66e3405db3dd2f4dbc8f4a4a3123bfcab3045177c6feb9c3 + requires_dist: + - pytest-cov ; extra == 'cov' + - black ; extra == 'dev' + - furo ; extra == 'docs' + - rst-linker>=1.9 ; extra == 'docs' + - sphinx>=3.5 ; extra == 'docs' + - build ; extra == 'packaging' + - setuptools>=61.2 ; extra == 'packaging' + - setuptools-scm[toml]>=6.0 ; extra == 'packaging' + - twine ; extra == 'packaging' + - pytest>=6.0,!=8.1.* ; extra == 'testing' + - pytest-benchmark ; extra == 'testing' + - pytest-benchmark[histogram] ; extra == 'testing' + - pytest-checkdocs>=1.2.3 ; extra == 'testing' + - pytest-enabler>=1.0.1 ; extra == 'testing' + - pytest-ruff>=0.2.1 ; extra == 'testing' + - bson ; extra == 'testing' + - ecdsa ; extra == 'testing' + - feedparser ; extra == 'testing' + - gmpy2 ; extra == 'testing' + - numpy ; extra == 'testing' + - pandas ; extra == 'testing' + - pymongo ; extra == 'testing' + - pyyaml ; extra == 'testing' + - scikit-learn ; extra == 'testing' + - simplejson ; extra == 'testing' + - sqlalchemy ; extra == 'testing' + - ujson ; extra == 'testing' + - atheris~=2.3.0 ; python_full_version < '3.12' and extra == 'testing' + - scipy ; python_full_version < '3.11' and extra == 'testing' + - scipy>=1.9.3 ; python_full_version >= '3.11' and extra == 'testing' + requires_python: '>=3.7' +- kind: pypi + name: jsonschema + version: 4.23.0 + url: https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl + sha256: fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566 + requires_dist: + - attrs>=22.2.0 + - importlib-resources>=1.4.0 ; python_full_version < '3.9' + - jsonschema-specifications>=2023.3.6 + - pkgutil-resolve-name>=1.3.10 ; python_full_version < '3.9' + - referencing>=0.28.4 + - rpds-py>=0.7.1 + - fqdn ; extra == 'format' + - idna ; extra == 'format' + - isoduration ; extra == 'format' + - jsonpointer>1.13 ; extra == 'format' + - rfc3339-validator ; extra == 'format' + - rfc3987 ; extra == 'format' + - uri-template ; extra == 'format' + - webcolors>=1.11 ; extra == 'format' + - fqdn ; extra == 'format-nongpl' + - idna ; extra == 'format-nongpl' + - isoduration ; extra == 'format-nongpl' + - jsonpointer>1.13 ; extra == 'format-nongpl' + - rfc3339-validator ; extra == 'format-nongpl' + - rfc3986-validator>0.1.0 ; extra == 'format-nongpl' + - uri-template ; extra == 'format-nongpl' + - webcolors>=24.6.0 ; extra == 'format-nongpl' + requires_python: '>=3.8' +- kind: pypi + name: jsonschema-specifications + version: 2024.10.1 + url: https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl + sha256: a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf + requires_dist: + - referencing>=0.31.0 + requires_python: '>=3.9' +- kind: pypi + name: keyring + version: 25.6.0 + url: https://files.pythonhosted.org/packages/d3/32/da7f44bcb1105d3e88a0b74ebdca50c59121d2ddf71c9e34ba47df7f3a56/keyring-25.6.0-py3-none-any.whl + sha256: 552a3f7af126ece7ed5c89753650eec89c7eaae8617d0aa4d9ad2b75111266bd + requires_dist: + - pywin32-ctypes>=0.2.0 ; sys_platform == 'win32' + - secretstorage>=3.2 ; sys_platform == 'linux' + - jeepney>=0.4.2 ; sys_platform == 'linux' + - importlib-metadata>=4.11.4 ; python_full_version < '3.12' + - jaraco-classes + - importlib-resources ; python_full_version < '3.9' + - jaraco-functools + - jaraco-context + - pytest>=6,!=8.1.* ; extra == 'test' + - pyfakefs ; extra == 'test' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest-mypy ; extra == 'type' + - pygobject-stubs ; extra == 'type' + - shtab ; extra == 'type' + - types-pywin32 ; extra == 'type' + - shtab>=1.1.0 ; extra == 'completion' + requires_python: '>=3.9' +- kind: pypi + name: keyrings-google-artifactregistry-auth + version: 1.1.2 + url: https://files.pythonhosted.org/packages/dc/a0/9698d906772b8c445f502e30c9408314998b29a0ee9fb22d849433a8146b/keyrings.google_artifactregistry_auth-1.1.2-py3-none-any.whl + sha256: e3f18b50fa945c786593014dc225810d191671d4f5f8e12d9259e39bad3605a3 + requires_dist: + - google-auth + - keyring + - pluggy + - requests + - pytest>=3.5,!=3.7.3 ; extra == 'testing' + - pytest-checkdocs>=1.2.3 ; extra == 'testing' + - pytest-cov ; extra == 'testing' + - pytest-flake8 ; extra == 'testing' + - pytest-black>=0.3.7 ; platform_python_implementation != 'PyPy' and extra == 'testing' + - pytest-mypy ; platform_python_implementation != 'PyPy' and extra == 'testing' + - tox ; extra == 'tox' + requires_python: '>=3.6' +- kind: conda + name: krb5 + version: 1.21.3 + build: h237132a_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda + sha256: 4442f957c3c77d69d9da3521268cad5d54c9033f1a73f99cde0a3658937b159b + md5: c6dc8a0fdec13a0565936655c33069a1 + depends: + - __osx >=11.0 + - libcxx >=16 + - libedit >=3.1.20191231,<3.2.0a0 + - libedit >=3.1.20191231,<4.0a0 + - openssl >=3.3.1,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 1155530 + timestamp: 1719463474401 +- kind: conda + name: lerc + version: 4.0.0 + build: h9a09cb3_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 + sha256: 6f068bb53dfb6147d3147d981bb851bb5477e769407ad4e6a68edf482fdcb958 + md5: de462d5aacda3b30721b512c5da4e742 + depends: + - libcxx >=13.0.1 + license: Apache-2.0 + license_family: Apache + purls: [] + size: 215721 + timestamp: 1657977558796 +- kind: conda + name: libarchive + version: 3.7.7 + build: h3b16cec_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libarchive-3.7.7-h3b16cec_3.conda + sha256: cbce64423e72bcd3576b5cfe0e4edd255900100f72467d5b4ea1d77449ac1ce9 + md5: 1c2eda2163510220b9f9d56a85c8da9d + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libiconv >=1.17,<2.0a0 + - liblzma >=5.6.3,<6.0a0 + - libxml2 >=2.13.5,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - lzo >=2.10,<3.0a0 + - openssl >=3.4.0,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 772780 + timestamp: 1734021109752 +- kind: conda + name: libavif16 + version: 1.1.1 + build: h45b7238_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libavif16-1.1.1-h45b7238_2.conda + sha256: c671365e8c822d29b53f20c4573fdbc70f18b50ff9a4b5b2b6b3c8f7ad2ac2a9 + md5: 7571064a60bc193ff5c25f36ed23394a + depends: + - __osx >=11.0 + - aom >=3.9.1,<3.10.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - rav1e >=0.6.6,<1.0a0 + - svt-av1 >=2.3.0,<2.3.1.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 96781 + timestamp: 1730268761553 - kind: conda name: libblas version: 3.9.0 - build: 25_osxarm64_openblas - build_number: 25 + build: 28_h10e41b3_openblas + build_number: 28 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-25_osxarm64_openblas.conda - sha256: f1fb9a11af0b2878bd8804b4c77d3733c40076218bcbdb35f575b1c0c9fddf11 - md5: f8cf4d920ff36ce471619010eff59cac + url: https://conda.anaconda.org/conda-forge/osx-arm64/libblas-3.9.0-28_h10e41b3_openblas.conda + sha256: 5bea855a1a7435ce2238535aa4b13db8af8ee301d99a42b083b63fa64c1ea144 + md5: 166166d84a0e9571dc50210baf993b46 depends: - libopenblas >=0.3.28,<0.3.29.0a0 - libopenblas >=0.3.28,<1.0a0 constrains: - - blas * openblas - - liblapack 3.9.0 25_osxarm64_openblas - - liblapacke 3.9.0 25_osxarm64_openblas - - libcblas 3.9.0 25_osxarm64_openblas + - liblapack =3.9.0=28*_openblas + - liblapacke =3.9.0=28*_openblas + - blas =2.128=openblas + - libcblas =3.9.0=28*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 15913 - timestamp: 1729643265495 + size: 16840 + timestamp: 1738114389937 - kind: conda name: libcblas version: 3.9.0 - build: 25_osxarm64_openblas - build_number: 25 + build: 28_hb3479ef_openblas + build_number: 28 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-25_osxarm64_openblas.conda - sha256: d9fa5b6b11252132a3383bbf87bd2f1b9d6248bef1b7e113c2a8ae41b0376218 - md5: 4df0fae81f0b5bf47d48c882b086da11 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcblas-3.9.0-28_hb3479ef_openblas.conda + sha256: f08adea59381babb3568e6d23e52aff874cbc25f299821647ab1127d1e1332ca + md5: 30942dea911ce333765003a8adec4e8a depends: - - libblas 3.9.0 25_osxarm64_openblas + - libblas 3.9.0 28_h10e41b3_openblas constrains: - - blas * openblas - - liblapack 3.9.0 25_osxarm64_openblas - - liblapacke 3.9.0 25_osxarm64_openblas + - blas =2.128=openblas + - liblapacke =3.9.0=28*_openblas + - liblapack =3.9.0=28*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 15837 - timestamp: 1729643270793 + size: 16788 + timestamp: 1738114399962 +- kind: conda + name: libcurl + version: 8.11.1 + build: h73640d1_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcurl-8.11.1-h73640d1_0.conda + sha256: f47c35938144c23278987c7d12096f6a42d7c850ffc277222b032073412383b6 + md5: 46d7524cabfdd199bffe63f8f19a552b + depends: + - __osx >=11.0 + - krb5 >=1.21.3,<1.22.0a0 + - libnghttp2 >=1.64.0,<2.0a0 + - libssh2 >=1.11.1,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.4.0,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + purls: [] + size: 385098 + timestamp: 1734000160270 - kind: conda name: libcxx - version: 19.1.3 + version: 19.1.7 build: ha82da77_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.3-ha82da77_0.conda - sha256: 6d062760c6439e75b9a44d800d89aff60fe3441998d87506c62dc94c50412ef4 - md5: bf691071fba4734984231617783225bc + url: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-19.1.7-ha82da77_0.conda + sha256: 776092346da87a2a23502e14d91eb0c32699c4a1522b7331537bd1c3751dcff5 + md5: 5b3e1610ff8bd5443476b91d618f5b77 depends: - __osx >=11.0 license: Apache-2.0 WITH LLVM-exception license_family: Apache purls: [] - size: 520771 - timestamp: 1730314603920 + size: 523505 + timestamp: 1736877862502 +- kind: conda + name: libde265 + version: 1.0.15 + build: h2ffa867_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libde265-1.0.15-h2ffa867_0.conda + sha256: 13747fa634f7f16d7f222b7d3869e3c1aab9d3a2791edeb2fc632a87663950e0 + md5: 7c718ee6d8497702145612fa0898a12d + depends: + - libcxx >=15 + license: LGPL-3.0-or-later + license_family: LGPL + purls: [] + size: 277861 + timestamp: 1703089176970 +- kind: conda + name: libdeflate + version: '1.23' + build: hec38601_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libdeflate-1.23-hec38601_0.conda + sha256: 887c02deaed6d583459eba6367023e36d8761085b2f7126e389424f57155da53 + md5: 1d8b9588be14e71df38c525767a1ac30 + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + purls: [] + size: 54132 + timestamp: 1734373971372 +- kind: conda + name: libedit + version: 3.1.20250104 + build: pl5321hafb1f1b_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321hafb1f1b_0.conda + sha256: 66aa216a403de0bb0c1340a88d1a06adaff66bae2cfd196731aa24db9859d631 + md5: 44083d2d2c2025afca315c7a172eab2b + depends: + - ncurses + - __osx >=11.0 + - ncurses >=6.5,<7.0a0 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 107691 + timestamp: 1738479560845 +- kind: conda + name: libev + version: '4.33' + build: h93a5062_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libev-4.33-h93a5062_2.conda + sha256: 95cecb3902fbe0399c3a7e67a5bed1db813e5ab0e22f4023a5e0f722f2cc214f + md5: 36d33e440c31857372a72137f78bacf5 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 107458 + timestamp: 1702146414478 - kind: conda name: libexpat version: 2.6.4 @@ -1254,6 +2696,53 @@ packages: purls: [] size: 39020 timestamp: 1636488587153 +- kind: conda + name: libgdal-core + version: 3.10.1 + build: h9ef0d2d_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libgdal-core-3.10.1-h9ef0d2d_2.conda + sha256: 891e4fc19846b99e5c2232c4e04c72d5eb55cd9702e70416283adf65e0598048 + md5: f0ea5524380b2c76156589e6aa0998a9 + depends: + - __osx >=11.0 + - blosc >=1.21.6,<2.0a0 + - geos >=3.13.0,<3.13.1.0a0 + - geotiff >=1.7.3,<1.8.0a0 + - giflib >=5.2.2,<5.3.0a0 + - json-c >=0.18,<0.19.0a0 + - lerc >=4.0.0,<5.0a0 + - libarchive >=3.7.7,<3.8.0a0 + - libcurl >=8.11.1,<9.0a0 + - libcxx >=18 + - libdeflate >=1.23,<1.24.0a0 + - libexpat >=2.6.4,<3.0a0 + - libheif >=1.19.5,<1.20.0a0 + - libiconv >=1.17,<2.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libkml >=1.3.0,<1.4.0a0 + - liblzma >=5.6.3,<6.0a0 + - libpng >=1.6.45,<1.7.0a0 + - libspatialite >=5.1.0,<5.2.0a0 + - libsqlite >=3.48.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - libwebp-base >=1.5.0,<2.0a0 + - libxml2 >=2.13.5,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - lz4-c >=1.10.0,<1.11.0a0 + - openssl >=3.4.0,<4.0a0 + - pcre2 >=10.44,<10.45.0a0 + - proj >=9.5.1,<9.6.0a0 + - xerces-c >=3.2.5,<3.3.0a0 + - zstd >=1.5.6,<1.6.0a0 + constrains: + - libgdal 3.10.1.* + license: MIT + license_family: MIT + purls: [] + size: 8493126 + timestamp: 1737610665986 - kind: conda name: libgfortran version: 5.0.0 @@ -1288,26 +2777,131 @@ packages: purls: [] size: 997381 timestamp: 1707330687590 +- kind: conda + name: libheif + version: 1.19.5 + build: gpl_h297b2c4_100 + build_number: 100 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libheif-1.19.5-gpl_h297b2c4_100.conda + sha256: f340e8e51519bcf885da9dd12602f19f76f3206347701accb28034dd0112b1a1 + md5: 5e457131dd237050dbfe6b141592f3ea + depends: + - __osx >=11.0 + - aom >=3.9.1,<3.10.0a0 + - dav1d >=1.2.1,<1.2.2.0a0 + - libavif16 >=1.1.1,<2.0a0 + - libcxx >=18 + - libde265 >=1.0.15,<1.0.16.0a0 + - x265 >=3.5,<3.6.0a0 + license: LGPL-3.0-or-later + license_family: LGPL + purls: [] + size: 429678 + timestamp: 1735260330340 +- kind: conda + name: libiconv + version: '1.17' + build: h0d3ecfb_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libiconv-1.17-h0d3ecfb_2.conda + sha256: bc7de5097b97bcafcf7deaaed505f7ce02f648aac8eccc0d5a47cc599a1d0304 + md5: 69bda57310071cf6d2b86caf11573d2d + license: LGPL-2.1-only + purls: [] + size: 676469 + timestamp: 1702682458114 +- kind: conda + name: libjpeg-turbo + version: 3.0.0 + build: hb547adb_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libjpeg-turbo-3.0.0-hb547adb_1.conda + sha256: a42054eaa38e84fc1e5ab443facac4bbc9d1b6b6f23f54b7bf4f1eb687e1d993 + md5: 3ff1e053dc3a2b8e36b9bfa4256a58d1 + constrains: + - jpeg <0.0.0a + license: IJG AND BSD-3-Clause AND Zlib + purls: [] + size: 547541 + timestamp: 1694475104253 +- kind: conda + name: libkml + version: 1.3.0 + build: he250239_1021 + build_number: 1021 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libkml-1.3.0-he250239_1021.conda + sha256: e578ba448489465b8fea743e214272a9fcfccb0d152ba1ff57657aaa76a0cd7d + md5: 891bb2a18eaef684f37bd4fb942cd8b2 + depends: + - __osx >=11.0 + - libcxx >=17 + - libexpat >=2.6.2,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - uriparser >=0.9.8,<1.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 281362 + timestamp: 1724667138089 - kind: conda name: liblapack version: 3.9.0 - build: 25_osxarm64_openblas - build_number: 25 + build: 28_hc9a63f6_openblas + build_number: 28 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-25_osxarm64_openblas.conda - sha256: fdd742407672a9af20e70764550cf18b3ab67f12e48bf04163b90492fbc401e7 - md5: 19bbddfec972d401838330453186108d + url: https://conda.anaconda.org/conda-forge/osx-arm64/liblapack-3.9.0-28_hc9a63f6_openblas.conda + sha256: 79c75a02bff20f8b001e6aecfee8d22a51552c3986e7037fca68e5ed071cc213 + md5: 45f26652530b558c21083ceb7adaf273 depends: - - libblas 3.9.0 25_osxarm64_openblas + - libblas 3.9.0 28_h10e41b3_openblas constrains: - - blas * openblas - - liblapacke 3.9.0 25_osxarm64_openblas - - libcblas 3.9.0 25_osxarm64_openblas + - blas =2.128=openblas + - liblapacke =3.9.0=28*_openblas + - libcblas =3.9.0=28*_openblas license: BSD-3-Clause license_family: BSD purls: [] - size: 15823 - timestamp: 1729643275943 + size: 16793 + timestamp: 1738114407021 +- kind: conda + name: liblzma + version: 5.6.4 + build: h39f12f2_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.6.4-h39f12f2_0.conda + sha256: 560c59d3834cc652a84fb45531bd335ad06e271b34ebc216e380a89798fe8e2c + md5: e3fd1f8320a100f2b210e690a57cd615 + depends: + - __osx >=11.0 + license: 0BSD + purls: [] + size: 98945 + timestamp: 1738525462560 +- kind: conda + name: libnghttp2 + version: 1.64.0 + build: h6d7220d_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libnghttp2-1.64.0-h6d7220d_0.conda + sha256: 00cc685824f39f51be5233b54e19f45abd60de5d8847f1a56906f8936648b72f + md5: 3408c02539cee5f1141f9f11450b6a51 + depends: + - __osx >=11.0 + - c-ares >=1.34.2,<2.0a0 + - libcxx >=17 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.3.2,<4.0a0 + license: MIT + license_family: MIT + purls: [] + size: 566719 + timestamp: 1729572385640 - kind: conda name: libopenblas version: 0.3.28 @@ -1329,22 +2923,159 @@ packages: purls: [] size: 4165774 timestamp: 1730772154295 +- kind: conda + name: libpng + version: 1.6.46 + build: h3783ad8_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libpng-1.6.46-h3783ad8_0.conda + sha256: db78a711561bb6df274ef421472d948dfd1093404db3915e891ae6d7fd37fadc + md5: 15d480fb9dad036eaa4de0b51eab3ccc + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: zlib-acknowledgement + purls: [] + size: 266516 + timestamp: 1737791023678 +- kind: conda + name: librttopo + version: 1.1.0 + build: ha2cf0f4_17 + build_number: 17 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/librttopo-1.1.0-ha2cf0f4_17.conda + sha256: 9ff3162d035a1d9022f6145755a70d0c0ce6c9152792402bc42294354c871a17 + md5: ba729f000ea379b76ed2190119d21e13 + depends: + - __osx >=11.0 + - geos >=3.13.0,<3.13.1.0a0 + - libcxx >=17 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 191064 + timestamp: 1727265842691 +- kind: conda + name: libspatialite + version: 5.1.0 + build: hf92fc0a_12 + build_number: 12 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libspatialite-5.1.0-hf92fc0a_12.conda + sha256: b11e6169fdbef472c307129192fd46133eec543036e41ab2f957615713b03d19 + md5: f05759528e44f74888830119ab32fc81 + depends: + - __osx >=11.0 + - freexl >=2 + - freexl >=2.0.0,<3.0a0 + - geos >=3.13.0,<3.13.1.0a0 + - libcxx >=18 + - libiconv >=1.17,<2.0a0 + - librttopo >=1.1.0,<1.2.0a0 + - libsqlite >=3.47.2,<4.0a0 + - libxml2 >=2.13.5,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - proj >=9.5.1,<9.6.0a0 + - sqlite + - zlib + license: MPL-1.1 + license_family: MOZILLA + purls: [] + size: 2943606 + timestamp: 1734001158789 - kind: conda name: libsqlite - version: 3.47.0 - build: hbaaea75_1 + version: 3.48.0 + build: h3f77e49_1 build_number: 1 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.47.0-hbaaea75_1.conda - sha256: 5a96caa566c11e5a5ebdcdb86a0759a7fb27d3c5f42e6a0fd0d6023c1e935d9e - md5: 07a14fbe439eef078cc479deca321161 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.48.0-h3f77e49_1.conda + sha256: 17c06940cc2a13fd6a17effabd6881b1477db38b2cd3ee2571092d293d3fdd75 + md5: 4c55169502ecddf8077973a987d08f08 depends: - __osx >=11.0 - libzlib >=1.3.1,<2.0a0 license: Unlicense purls: [] - size: 837683 - timestamp: 1730208293578 + size: 852831 + timestamp: 1737564996616 +- kind: conda + name: libssh2 + version: 1.11.1 + build: h9cc3647_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libssh2-1.11.1-h9cc3647_0.conda + sha256: f7047c6ed44bcaeb04432e8c74da87591940d091b0a3940c0d884b7faa8062e9 + md5: ddc7194676c285513706e5fc64f214d7 + depends: + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.4.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 279028 + timestamp: 1732349599461 +- kind: conda + name: libtiff + version: 4.7.0 + build: h551f018_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libtiff-4.7.0-h551f018_3.conda + sha256: 91417846157e04992801438a496b151df89604b2e7c6775d6f701fcd0cbed5ae + md5: a5d084a957563e614ec0c0196d890654 + depends: + - __osx >=11.0 + - lerc >=4.0.0,<5.0a0 + - libcxx >=18 + - libdeflate >=1.23,<1.24.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - liblzma >=5.6.3,<6.0a0 + - libwebp-base >=1.4.0,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: HPND + purls: [] + size: 370600 + timestamp: 1734398863052 +- kind: conda + name: libwebp-base + version: 1.5.0 + build: h2471fea_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libwebp-base-1.5.0-h2471fea_0.conda + sha256: f8bdb876b4bc8cb5df47c28af29188de8911c3fea4b799a33743500149de3f4a + md5: 569466afeb84f90d5bb88c11cc23d746 + depends: + - __osx >=11.0 + constrains: + - libwebp 1.5.0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 290013 + timestamp: 1734777593617 +- kind: conda + name: libxml2 + version: 2.13.5 + build: h178c5d8_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/libxml2-2.13.5-h178c5d8_1.conda + sha256: d7af3f25a4cece170502acd38f2dafbea4521f373f46dcb28a37fbe6ac2da544 + md5: 3dc3cff0eca1640a6acbbfab2f78139e + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libiconv >=1.17,<2.0a0 + - liblzma >=5.6.3,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + license: MIT + license_family: MIT + purls: [] + size: 582898 + timestamp: 1733443841584 - kind: conda name: libzlib version: 1.3.1 @@ -1365,47 +3096,106 @@ packages: timestamp: 1727963202283 - kind: conda name: llvm-openmp - version: 19.1.3 - build: hb52a8e5_0 + version: 19.1.7 + build: hdb05f8b_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.3-hb52a8e5_0.conda - sha256: 49a8940e727aa82ee034fa9a60b3fcababec41b3192d955772aab635a5374b82 - md5: dd695d23e78d1ca4fecce969b1e1db61 + url: https://conda.anaconda.org/conda-forge/osx-arm64/llvm-openmp-19.1.7-hdb05f8b_0.conda + sha256: b92a669f2059874ebdcb69041b6c243d68ffc3fb356ac1339cec44aeb27245d7 + md5: c4d54bfd3817313ce758aa76283b118d depends: - __osx >=11.0 constrains: - - openmp 19.1.3|19.1.3.* + - openmp 19.1.7|19.1.7.* license: Apache-2.0 WITH LLVM-exception license_family: APACHE purls: [] - size: 280488 - timestamp: 1730364082380 + size: 280830 + timestamp: 1736986295869 - kind: pypi name: locket version: 1.0.0 url: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl sha256: b6c819a722f7b6bd955b80781788e4a66a55628b858d347536b7e81325a3a5e3 requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' +- kind: pypi + name: lz4 + version: 4.4.3 + url: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl + sha256: 2ae50a175fb7b900f7aa42575f4fe99c32ca0ff57e5a8c1fd25e1243e67409db + requires_dist: + - pytest!=3.3.0 ; extra == 'tests' + - psutil ; extra == 'tests' + - pytest-cov ; extra == 'tests' + - sphinx>=1.6.0 ; extra == 'docs' + - sphinx-bootstrap-theme ; extra == 'docs' + - flake8 ; extra == 'flake8' + requires_python: '>=3.9' +- kind: conda + name: lz4-c + version: 1.10.0 + build: h286801f_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/lz4-c-1.10.0-h286801f_1.conda + sha256: 94d3e2a485dab8bdfdd4837880bde3dd0d701e2b97d6134b8806b7c8e69c8652 + md5: 01511afc6cc1909c5303cf31be17b44f + depends: + - __osx >=11.0 + - libcxx >=18 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 148824 + timestamp: 1733741047892 +- kind: conda + name: lzo + version: '2.10' + build: h93a5062_1001 + build_number: 1001 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/lzo-2.10-h93a5062_1001.conda + sha256: b68160b0a8ec374cea12de7afb954ca47419cdc300358232e19cec666d60b929 + md5: 915996063a7380c652f83609e970c2a7 + license: GPL-2.0-or-later + license_family: GPL2 + purls: [] + size: 131447 + timestamp: 1713516009610 - kind: pypi name: markupsafe version: 3.0.2 url: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl sha256: 846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 requires_python: '>=3.9' +- kind: conda + name: minizip + version: 4.0.7 + build: hff1a8ea_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/minizip-4.0.7-hff1a8ea_3.conda + sha256: 6d904a6fc5e875e687b9fab244d5b286961222d72f546f9939d8f80ebe873c1c + md5: 666bd61287ad7ee417884eacd9aef2ea + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libcxx >=18 + - libiconv >=1.17,<2.0a0 + - liblzma >=5.6.3,<6.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.4.0,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: Zlib + license_family: Other + purls: [] + size: 77597 + timestamp: 1734012196026 - kind: pypi - name: mock - version: 2.0.0 - url: https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl - sha256: 5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1 - requires_dist: - - pbr>=0.11 - - six>=1.9 - - funcsigs>=1 ; python_full_version < '3.3' - - sphinx ; (python_full_version < '3.0' and extra == 'docs') or (python_full_version >= '3.3' and extra == 'docs') - - pygments<2 ; python_full_version >= '3.0' and python_full_version < '3.3' and extra == 'docs' - - jinja2<2.7 ; python_full_version >= '3.0' and python_full_version < '3.3' and extra == 'docs' - - sphinx<1.3 ; python_full_version >= '3.0' and python_full_version < '3.3' and extra == 'docs' - - unittest2>=1.1.0 ; extra == 'test' + name: more-itertools + version: 10.6.0 + url: https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl + sha256: 6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89 + requires_python: '>=3.9' - kind: pypi name: msgpack version: 1.1.0 @@ -1429,47 +3219,47 @@ packages: - kind: conda name: ncurses version: '6.5' - build: h7bae524_1 - build_number: 1 + build: h5e97a16_3 + build_number: 3 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h7bae524_1.conda - sha256: 27d0b9ff78ad46e1f3a6c96c479ab44beda5f96def88e2fe626e0a49429d8afc - md5: cb2b0ea909b97b3d70cd3921d1445e1a + url: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + sha256: 2827ada40e8d9ca69a153a45f7fd14f32b2ead7045d3bbb5d10964898fe65733 + md5: 068d497125e4bf8a66bf707254fff5ae depends: - __osx >=11.0 license: X11 AND BSD-3-Clause purls: [] - size: 802321 - timestamp: 1724658775723 + size: 797030 + timestamp: 1738196177597 - kind: pypi name: numcodecs - version: 0.13.1 - url: https://files.pythonhosted.org/packages/3a/cc/dc74d0bfdf9ec192332a089d199f1e543e747c556b5659118db7a437dcca/numcodecs-0.13.1-cp312-cp312-macosx_11_0_arm64.whl - sha256: 3501a848adaddce98a71a262fee15cd3618312692aa419da77acd18af4a6a3f6 + version: 0.15.0 + url: https://files.pythonhosted.org/packages/b7/62/9dd265a57c75df0dda3885c28b8880ec711245febe006434fa78b6b69c86/numcodecs-0.15.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 9dbe1880856ab65ff7ae16ccfcec4477c471a47297f2c33b87d78c3feb7b5c2b requires_dist: - - numpy>=1.7 + - numpy>=1.24 + - deprecated - sphinx ; extra == 'docs' - sphinx-issues ; extra == 'docs' - pydata-sphinx-theme ; extra == 'docs' - numpydoc ; extra == 'docs' - - mock ; extra == 'docs' - - msgpack ; extra == 'msgpack' - - pcodec>=0.2.0 ; extra == 'pcodec' - coverage ; extra == 'test' - pytest ; extra == 'test' - pytest-cov ; extra == 'test' - importlib-metadata ; extra == 'test-extras' + - msgpack ; extra == 'msgpack' - zfpy>=1.0.0 ; extra == 'zfpy' - - numpy<2.0.0 ; extra == 'zfpy' - requires_python: '>=3.10' + - pcodec>=0.3,<0.4 ; extra == 'pcodec' + - crc32c>=2.7 ; extra == 'crc32c' + requires_python: '>=3.11' - kind: conda name: numpy - version: 2.2.1 - build: py312h41c6370_0 + version: 2.2.2 + build: py312h7c1f314_0 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.1-py312h41c6370_0.conda - sha256: 0a08d24a9879009bbb3eeea8aa0116d027968732c2092f0290102cd757307de8 - md5: c8319d0e393fee76123fd617dddb8977 + url: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda + sha256: 411e2262230fd8da86f6f065e751d158b861efb6d9ba7fc5af848be99cce378e + md5: 083cb61e8e81cf8739e22f8a1904e01e depends: - __osx >=11.0 - libblas >=3.9.0,<4.0a0 @@ -1485,13 +3275,13 @@ packages: license_family: BSD purls: - pkg:pypi/numpy?source=hash-mapping - size: 6495249 - timestamp: 1734904743892 + size: 6441437 + timestamp: 1737331520428 - kind: pypi name: oauth2client - version: 3.0.0 - url: https://files.pythonhosted.org/packages/c0/7b/bc893e35d6ca46a72faa4b9eaac25c687ce60e1fbe978993fe2de1b0ff0d/oauth2client-3.0.0.tar.gz - sha256: 5b5b056ec6f2304e7920b632885bd157fa71d1a7f3ddd00a43b1541a8d1a2460 + version: 4.1.3 + url: https://files.pythonhosted.org/packages/95/a9/4f25a14d23f0786b64875b91784607c2277eff25d48f915e39ff0cff505a/oauth2client-4.1.3-py2.py3-none-any.whl + sha256: b8a81cc5d60e2d364f0b1b98f958dbd472887acaf1a5b05e21c28c31a2d6d3ac requires_dist: - httplib2>=0.9.1 - pyasn1>=0.1.7 @@ -1509,39 +3299,94 @@ packages: - cryptography>=3.0.0 ; extra == 'signedtoken' - pyjwt>=2.0.0,<3 ; extra == 'signedtoken' requires_python: '>=3.6' +- kind: pypi + name: objsize + version: 0.7.1 + url: https://files.pythonhosted.org/packages/f3/a7/55f8f3853a4a654d3a6fbf63e646e0b469b52c174703a10db70a1cb06c7e/objsize-0.7.1-py3-none-any.whl + sha256: 634a0c134c4b1ff2c340fe29caf58bc0a16cb2ff7c556df609d04f026fdf4eca + requires_dist: + - bumpver ; extra == 'dev' + - black ; extra == 'dev' + - isort ; extra == 'dev' + - flake8 ; extra == 'dev' + - pylint ; extra == 'dev' + - mypy ; extra == 'dev' + - pip-tools ; extra == 'dev' + - pytest ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - coveralls ; extra == 'dev' + - pyyaml ; extra == 'dev' + - sphinx ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - sphinx-rtd-dark-mode ; extra == 'docs' + - myst-parser ; extra == 'docs' + - sphinx-markdown-builder>=0.6.0 ; extra == 'docs' + requires_python: '>=3.8' - kind: conda name: openssl version: 3.4.0 - build: h39f12f2_0 + build: h81ee809_1 + build_number: 1 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h39f12f2_0.conda - sha256: bd1d58ced46e75efa3b842c61642fd12272c69e9fe4d7261078bc082153a1d53 - md5: df307bbc703324722df0293c9ca2e418 + url: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + sha256: 97772762abc70b3a537683ca9fc3ff3d6099eb64e4aba3b9c99e6fce48422d21 + md5: 22f971393637480bda8c679f374d8861 depends: - __osx >=11.0 - ca-certificates license: Apache-2.0 license_family: Apache purls: [] - size: 2935176 - timestamp: 1731377561525 -- kind: conda + size: 2936415 + timestamp: 1736086108693 +- kind: pypi + name: opentelemetry-api + version: 1.29.0 + url: https://files.pythonhosted.org/packages/43/53/5249ea860d417a26a3a6f1bdedfc0748c4f081a3adaec3d398bc0f7c6a71/opentelemetry_api-1.29.0-py3-none-any.whl + sha256: 5fcd94c4141cc49c736271f3e1efb777bebe9cc535759c54c936cca4f1b312b8 + requires_dist: + - deprecated>=1.2.6 + - importlib-metadata>=6.0,<=8.5.0 + requires_python: '>=3.8' +- kind: pypi + name: opentelemetry-sdk + version: 1.29.0 + url: https://files.pythonhosted.org/packages/d1/1d/512b86af21795fb463726665e2f61db77d384e8779fdcf4cb0ceec47866d/opentelemetry_sdk-1.29.0-py3-none-any.whl + sha256: 173be3b5d3f8f7d671f20ea37056710217959e774e2749d984355d1f9391a30a + requires_dist: + - opentelemetry-api==1.29.0 + - opentelemetry-semantic-conventions==0.50b0 + - typing-extensions>=3.7.4 + requires_python: '>=3.8' +- kind: pypi + name: opentelemetry-semantic-conventions + version: 0.50b0 + url: https://files.pythonhosted.org/packages/da/fb/dc15fad105450a015e913cfa4f5c27b6a5f1bea8fb649f8cae11e699c8af/opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl + sha256: e87efba8fdb67fb38113efea6a349531e75ed7ffc01562f65b802fcecb5e115e + requires_dist: + - deprecated>=1.2.6 + - opentelemetry-api==1.29.0 + requires_python: '>=3.8' +- kind: pypi + name: orjson + version: 3.10.15 + url: https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl + sha256: 9d11c0714fc85bfcf36ada1179400862da3288fc785c30e8297844c867d7505a + requires_python: '>=3.8' +- kind: pypi + name: overrides + version: 7.7.0 + url: https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl + sha256: c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 + requires_dist: + - typing ; python_full_version < '3.5' + requires_python: '>=3.6' +- kind: pypi name: packaging version: '24.2' - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_0.conda - sha256: 0f8273bf66c2a5c1de72312a509deae07f163bb0ae8de8273c52e6fe945a0850 - md5: c16469afe1ec91aaafcf4bea966c0465 - depends: - - python >=3.8 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/packaging?source=hash-mapping - size: 60345 - timestamp: 1731457074006 + url: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl + sha256: 09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 + requires_python: '>=3.8' - kind: pypi name: pandas version: 2.2.3 @@ -1653,17 +3498,29 @@ packages: url: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl sha256: a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 requires_python: '>=3.8' -- kind: pypi - name: pbr - version: 6.1.0 - url: https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl - sha256: a776ae228892d8013649c0aeccbb3d5f99ee15e005a4cbb7e61d55a067b28a2a - requires_python: '>=2.6' +- kind: conda + name: pcre2 + version: '10.44' + build: h297a79d_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + sha256: 83153c7d8fd99cab33c92ce820aa7bfed0f1c94fc57010cf227b6e3c50cb7796 + md5: 147c83e5e44780c7492998acbacddf52 + depends: + - __osx >=11.0 + - bzip2 >=1.0.8,<2.0a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 618973 + timestamp: 1723488853807 - kind: pypi name: pillow - version: 11.0.0 - url: https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl - sha256: 084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903 + version: 11.1.0 + url: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b requires_dist: - furo ; extra == 'docs' - olefile ; extra == 'docs' @@ -1674,7 +3531,7 @@ packages: - olefile ; extra == 'fpx' - olefile ; extra == 'mic' - check-manifest ; extra == 'tests' - - coverage ; extra == 'tests' + - coverage>=7.4.2 ; extra == 'tests' - defusedxml ; extra == 'tests' - markdown2 ; extra == 'tests' - olefile ; extra == 'tests' @@ -1683,26 +3540,27 @@ packages: - pytest ; extra == 'tests' - pytest-cov ; extra == 'tests' - pytest-timeout ; extra == 'tests' + - trove-classifiers>=2024.10.12 ; extra == 'tests' - typing-extensions ; python_full_version < '3.10' and extra == 'typing' - defusedxml ; extra == 'xmp' requires_python: '>=3.9' -- kind: conda +- kind: pypi name: platformdirs version: 4.3.6 - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.3.6-pyhd8ed1ab_0.conda - sha256: c81bdeadc4adcda216b2c7b373f0335f5c78cc480d1d55d10f21823590d7e46f - md5: fd8f2b18b65bbf62e8f653100690c8d2 - depends: - - python >=3.8 - license: MIT - license_family: MIT - purls: - - pkg:pypi/platformdirs?source=hash-mapping - size: 20625 - timestamp: 1726613611845 + url: https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl + sha256: 73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb + requires_dist: + - furo>=2024.8.6 ; extra == 'docs' + - proselint>=0.14 ; extra == 'docs' + - sphinx-autodoc-typehints>=2.4 ; extra == 'docs' + - sphinx>=8.0.2 ; extra == 'docs' + - appdirs==1.4.4 ; extra == 'test' + - covdefaults>=2.3 ; extra == 'test' + - pytest-cov>=5 ; extra == 'test' + - pytest-mock>=3.14 ; extra == 'test' + - pytest>=8.3.2 ; extra == 'test' + - mypy>=1.11.2 ; extra == 'type' + requires_python: '>=3.8' - kind: pypi name: pluggy version: 1.5.0 @@ -1714,47 +3572,92 @@ packages: - pytest ; extra == 'testing' - pytest-benchmark ; extra == 'testing' requires_python: '>=3.8' +- kind: conda + name: proj + version: 9.5.1 + build: h1318a7e_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + sha256: c6289d6f1a13f28ff3754ac0cb2553f7e7bc4a3102291115f62a04995d0421eb + md5: 5eb42e77ae79b46fabcb0f6f6d130763 + depends: + - __osx >=11.0 + - libcurl >=8.10.1,<9.0a0 + - libcxx >=18 + - libsqlite >=3.47.0,<4.0a0 + - libtiff >=4.7.0,<4.8.0a0 + - sqlite + constrains: + - proj4 ==999999999999 + license: MIT + license_family: MIT + purls: [] + size: 2673401 + timestamp: 1733138376056 - kind: pypi name: propcache - version: 0.2.0 - url: https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl - sha256: 2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8 - requires_python: '>=3.8' + version: 0.2.1 + url: https://files.pythonhosted.org/packages/4a/de/bbe712f94d088da1d237c35d735f675e494a816fd6f54e9db2f61ef4d03f/propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl + sha256: 14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d + requires_python: '>=3.9' - kind: pypi - name: protobuf - version: 3.20.3 - url: https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl - sha256: a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db + name: proto-plus + version: 1.26.0 + url: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl + sha256: bf2dfaa3da281fc3187d12d224c707cb57214fb2c22ba854eb0c105a3fb2d4d7 + requires_dist: + - protobuf>=3.19.0,<6.0.0.dev0 + - google-api-core>=1.31.5 ; extra == 'testing' requires_python: '>=3.7' -- kind: conda +- kind: pypi + name: protobuf + version: 5.29.3 + url: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl + sha256: a8434404bbf139aa9e1300dbf989667a83d42ddda9153d8ab76e0d5dcaca484e + requires_python: '>=3.8' +- kind: pypi name: psutil version: 6.1.1 - build: py312hea69d52_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/psutil-6.1.1-py312hea69d52_0.conda - sha256: 90332053dad4056fe752217fa311ffa61cb37dc693b1721e37580e71a2a6fe04 - md5: 90724dac996a4e9d629a88a4b1ffe694 - depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/psutil?source=hash-mapping - size: 495397 - timestamp: 1735327574477 + url: https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl + sha256: 0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377 + requires_dist: + - abi3audit ; extra == 'dev' + - black ; extra == 'dev' + - check-manifest ; extra == 'dev' + - coverage ; extra == 'dev' + - packaging ; extra == 'dev' + - pylint ; extra == 'dev' + - pyperf ; extra == 'dev' + - pypinfo ; extra == 'dev' + - pytest-cov ; extra == 'dev' + - requests ; extra == 'dev' + - rstcheck ; extra == 'dev' + - ruff ; extra == 'dev' + - sphinx ; extra == 'dev' + - sphinx-rtd-theme ; extra == 'dev' + - toml-sort ; extra == 'dev' + - twine ; extra == 'dev' + - virtualenv ; extra == 'dev' + - vulture ; extra == 'dev' + - wheel ; extra == 'dev' + - pytest ; extra == 'test' + - pytest-xdist ; extra == 'test' + - setuptools ; extra == 'test' + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*' - kind: pypi name: pyarrow - version: 0.15.1 - url: https://files.pythonhosted.org/packages/e0/e6/d14b4a2b54ef065b1a2c576537abe805c1af0c94caef70d365e2d78fc528/pyarrow-0.15.1.tar.gz - sha256: 7ad074690ba38313067bf3bbda1258966d38e2037c035d08b9ffe3cce07747a5 + version: 16.1.0 + url: https://files.pythonhosted.org/packages/9b/73/560ef6bf05f16305502b8e368c771e8f82d774898b37a3fb231f89c13342/pyarrow-16.1.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 06ebccb6f8cb7357de85f60d5da50e83507954af617d7b05f48af1621d331c9a requires_dist: - - numpy>=1.14 - - six>=1.0.0 - - futures ; python_full_version < '3.2' - - enum34>=1.1.6 ; python_full_version < '3.4' + - numpy>=1.16.6 + requires_python: '>=3.8' +- kind: pypi + name: pyarrow-hotfix + version: '0.6' + url: https://files.pythonhosted.org/packages/e4/f4/9ec2222f5f5f8ea04f66f184caafd991a39c8782e31f5b0266f101cb68ca/pyarrow_hotfix-0.6-py3-none-any.whl + sha256: dcc9ae2d220dff0083be6a9aa8e0cdee5182ad358d4931fce825c545e5c89178 + requires_python: '>=3.5' - kind: pypi name: pyasn1 version: 0.6.1 @@ -1769,6 +3672,26 @@ packages: requires_dist: - pyasn1>=0.4.6,<0.7.0 requires_python: '>=3.8' +- kind: pypi + name: pydantic + version: 2.10.6 + url: https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl + sha256: 427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584 + requires_dist: + - annotated-types>=0.6.0 + - pydantic-core==2.27.2 + - typing-extensions>=4.12.2 + - email-validator>=2.0.0 ; extra == 'email' + - tzdata ; python_full_version >= '3.9' and platform_system == 'Windows' and extra == 'timezone' + requires_python: '>=3.8' +- kind: pypi + name: pydantic-core + version: 2.27.2 + url: https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl + sha256: 83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef + requires_dist: + - typing-extensions>=4.6.0,!=4.7.0 + requires_python: '>=3.8' - kind: pypi name: pydot version: 1.4.2 @@ -1779,11 +3702,11 @@ packages: requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' - kind: pypi name: pyink - version: 24.10.0 - url: https://files.pythonhosted.org/packages/93/72/37d76e26bc9cc5ffb90cd2c29adcf0476922e8d89da6061682298e231a3b/pyink-24.10.0-py3-none-any.whl - sha256: 98d5250e77a44e906d8fcbf10582ca12f2404a0d38dfe99320bf81ca08c418b9 + version: 24.10.1 + url: https://files.pythonhosted.org/packages/1f/12/2f271b3601ae25731879f160d6b3941d80eb6b4f3e24be90289e33fb1dc4/pyink-24.10.1-py3-none-any.whl + sha256: 6349bf6ab75e2ea39a5f0bc3dee7ede7f4af8529291472638026de5fd4af80d2 requires_dist: - - black==24.8.0 + - black==24.10.0 - click>=8.0.0 - mypy-extensions>=0.4.3 - packaging>=22.0 @@ -1798,26 +3721,38 @@ packages: requires_python: '>=3.9' - kind: pypi name: pymongo - version: 3.13.0 - url: https://files.pythonhosted.org/packages/ec/ff/9b08f29b57384e1f55080d15a12ba4908d93d46cd7fe83c5c562fdcd3400/pymongo-3.13.0.tar.gz - sha256: e22d6cf5802cd09b674c307cc9e03870b8c37c503ebec3d25b86f2ce8c535dc7 + version: '4.11' + url: https://files.pythonhosted.org/packages/00/e3/471839c8705ae024d6eb3af65bd2fac85b33561c04048ff846d22d5ed9d4/pymongo-4.11-cp312-cp312-macosx_11_0_arm64.whl + sha256: e84e27d6fa4b3e532043daf89d52d2cfbd7b4697b44b86a7b3db8cacdcfcc58c requires_dist: - - pymongo-auth-aws<2.0.0 ; extra == 'aws' - - pymongocrypt>=1.1.0,<2.0.0 ; extra == 'encryption' - - pykerberos ; extra == 'gssapi' + - dnspython>=1.16.0,<3.0.0 + - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'aws' + - furo==2024.8.6 ; extra == 'docs' + - readthedocs-sphinx-search~=0.3 ; extra == 'docs' + - sphinx-autobuild>=2020.9.1 ; extra == 'docs' + - sphinx-rtd-theme>=2,<4 ; extra == 'docs' + - sphinx>=5.3,<9 ; extra == 'docs' + - sphinxcontrib-shellcheck>=1,<2 ; extra == 'docs' + - certifi ; (sys_platform == 'darwin' and extra == 'encryption') or (os_name == 'nt' and extra == 'encryption') + - pymongo-auth-aws>=1.1.0,<2.0.0 ; extra == 'encryption' + - pymongocrypt>=1.12.0,<2.0.0 ; extra == 'encryption' + - pykerberos ; os_name != 'nt' and extra == 'gssapi' + - winkerberos>=0.5.0 ; os_name == 'nt' and extra == 'gssapi' + - certifi ; (sys_platform == 'darwin' and extra == 'ocsp') or (os_name == 'nt' and extra == 'ocsp') + - cryptography>=2.5 ; extra == 'ocsp' - pyopenssl>=17.2.0 ; extra == 'ocsp' - requests<3.0.0 ; extra == 'ocsp' - service-identity>=18.1.0 ; extra == 'ocsp' - - certifi ; extra == 'ocsp' - python-snappy ; extra == 'snappy' - - dnspython>=1.16.0,<3.0.0 ; extra == 'srv' + - pytest-asyncio>=0.24.0 ; extra == 'test' + - pytest>=8.2 ; extra == 'test' - zstandard ; extra == 'zstd' - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*' + requires_python: '>=3.9' - kind: pypi name: pyparsing - version: 3.2.0 - url: https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl - sha256: 93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84 + version: 3.2.1 + url: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl + sha256: 506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1 requires_dist: - railroad-diagrams ; extra == 'diagrams' - jinja2 ; extra == 'diagrams' @@ -1832,16 +3767,16 @@ packages: requires_python: '>=3.10' - kind: pypi name: pytest - version: 8.3.3 - url: https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl - sha256: a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2 + version: 8.3.4 + url: https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl + sha256: 50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6 requires_dist: + - colorama ; sys_platform == 'win32' + - exceptiongroup>=1.0.0rc8 ; python_full_version < '3.11' - iniconfig - packaging - pluggy>=1.5,<2 - - exceptiongroup>=1.0.0rc8 ; python_full_version < '3.11' - tomli>=1 ; python_full_version < '3.11' - - colorama ; sys_platform == 'win32' - argcomplete ; extra == 'dev' - attrs>=19.2 ; extra == 'dev' - hypothesis>=3.56 ; extra == 'dev' @@ -1853,48 +3788,40 @@ packages: requires_python: '>=3.8' - kind: conda name: python - version: 3.12.0 - build: h47c9636_0_cpython + version: 3.12.8 + build: hc22306f_1_cpython + build_number: 1 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.0-h47c9636_0_cpython.conda - sha256: eb66f8f249caa9d5a956c3a407f079e4779d652ebfc2a4b4f50dcea078e84fa8 - md5: ed8ae98b1b510de68392971b9367d18c + url: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda + sha256: 7586a711b1b08a9df8864e26efdc06980bdfb0e18d5ac4651d0fee30a8d3e3a0 + md5: 54ca5b5d92ef3a3ba61e195ee882a518 depends: + - __osx >=11.0 - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.5.0,<3.0a0 + - libexpat >=2.6.4,<3.0a0 - libffi >=3.4,<4.0a0 - - libsqlite >=3.43.0,<4.0a0 - - libzlib >=1.2.13,<2.0.0a0 - - ncurses >=6.4,<7.0a0 - - openssl >=3.1.3,<4.0a0 + - liblzma >=5.6.3,<6.0a0 + - libsqlite >=3.47.0,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.4.0,<4.0a0 - readline >=8.2,<9.0a0 - tk >=8.6.13,<8.7.0a0 - tzdata - - xz >=5.2.6,<6.0a0 constrains: - python_abi 3.12.* *_cp312 license: Python-2.0 purls: [] - size: 13306758 - timestamp: 1696322682581 -- kind: conda + size: 12998673 + timestamp: 1733408900971 +- kind: pypi name: python-dateutil - version: 2.9.0 - build: pyhd8ed1ab_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda - sha256: f3ceef02ac164a8d3a080d0d32f8e2ebe10dd29e3a685d240e38b3599e146320 - md5: 2cf4264fffb9e6eff6031c5b6884d61c - depends: - - python >=3.7 - - six >=1.5 - license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/python-dateutil?source=hash-mapping - size: 222742 - timestamp: 1709299922152 + version: 2.9.0.post0 + url: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + sha256: a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + requires_dist: + - six>=1.5 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' - kind: conda name: python_abi version: '3.12' @@ -1913,9 +3840,9 @@ packages: timestamp: 1723823099686 - kind: pypi name: pytz - version: '2024.2' - url: https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl - sha256: 31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725 + version: '2025.1' + url: https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl + sha256: 89dd22dca55b46eac6eda23b2d72721bf1bdfef212645d81513ef5d03038de57 - kind: pypi name: pyyaml version: 6.0.2 @@ -1924,9 +3851,9 @@ packages: requires_python: '>=3.8' - kind: pypi name: rasterio - version: 1.4.2 - url: https://files.pythonhosted.org/packages/2e/48/fcd02399c7c4041c850b59c7cd80c309f7b87c86649e2bfb515d44ad061c/rasterio-1.4.2.tar.gz - sha256: 1be35ccb4d998a4c48fa51bbee9e37927ecd9b9e954a2b2581b8f3e9bb165332 + version: 1.4.3 + url: https://files.pythonhosted.org/packages/de/19/ab4326e419b543da623ce4191f68e3f36a4d9adc64f3df5c78f044d8d9ca/rasterio-1.4.3.tar.gz + sha256: 201f05dbc7c4739dacb2c78a1cf4e09c0b7265b0a4d16ccbd1753ce4f2af350a requires_dist: - affine - attrs @@ -1937,20 +3864,20 @@ packages: - click-plugins - pyparsing - importlib-metadata ; python_full_version < '3.10' - - sphinx ; extra == 'all' - - pytest-cov>=2.2.0 ; extra == 'all' - - packaging ; extra == 'all' - - pytest>=2.8.2 ; extra == 'all' - - boto3>=1.2.4 ; extra == 'all' - matplotlib ; extra == 'all' - - ghp-import ; extra == 'all' - - numpydoc ; extra == 'all' - ipython>=2.0 ; extra == 'all' - - sphinx-click ; extra == 'all' - - hypothesis ; extra == 'all' - fsspec ; extra == 'all' - - sphinx-rtd-theme ; extra == 'all' + - sphinx ; extra == 'all' - shapely ; extra == 'all' + - numpydoc ; extra == 'all' + - hypothesis ; extra == 'all' + - pytest-cov>=2.2.0 ; extra == 'all' + - boto3>=1.2.4 ; extra == 'all' + - pytest>=2.8.2 ; extra == 'all' + - sphinx-rtd-theme ; extra == 'all' + - sphinx-click ; extra == 'all' + - ghp-import ; extra == 'all' + - packaging ; extra == 'all' - ghp-import ; extra == 'docs' - numpydoc ; extra == 'docs' - sphinx ; extra == 'docs' @@ -1967,6 +3894,20 @@ packages: - pytest>=2.8.2 ; extra == 'test' - shapely ; extra == 'test' requires_python: '>=3.9' +- kind: conda + name: rav1e + version: 0.6.6 + build: h69fbcac_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda + sha256: be6174970193cb4d0ffa7d731a93a4c9542881dbc7ab24e74b460ef312161169 + md5: e309ae86569b1cd55a0285fa4e939844 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 1526706 + timestamp: 1694329743011 - kind: conda name: readline version: '8.2' @@ -2019,6 +3960,34 @@ packages: - hypothesis ; extra == 'test' - pytest ; extra == 'test' requires_python: '>=3.8' +- kind: pypi + name: redis + version: 5.2.1 + url: https://files.pythonhosted.org/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl + sha256: ee7e1056b9aea0f04c6c2ed59452947f34c4940ee025f5dd83e6a6418b6989e4 + requires_dist: + - async-timeout>=4.0.3 ; python_full_version < '3.11.3' + - hiredis>=3.0.0 ; extra == 'hiredis' + - cryptography>=36.0.1 ; extra == 'ocsp' + - pyopenssl==23.2.1 ; extra == 'ocsp' + - requests>=2.31.0 ; extra == 'ocsp' + requires_python: '>=3.8' +- kind: pypi + name: referencing + version: 0.36.2 + url: https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl + sha256: e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0 + requires_dist: + - attrs>=22.2.0 + - rpds-py>=0.7.0 + - typing-extensions>=4.4.0 ; python_full_version < '3.13' + requires_python: '>=3.9' +- kind: pypi + name: regex + version: 2024.11.6 + url: https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl + sha256: 805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2 + requires_python: '>=3.8' - kind: pypi name: requests version: 2.32.3 @@ -2044,18 +4013,24 @@ packages: requires_python: '>=3.4' - kind: pypi name: rioxarray - version: 0.18.1 - url: https://files.pythonhosted.org/packages/aa/b7/a881b08bb24ae15bd3644b313244d89b0eb50d88dbda577ce72e5e3e4be4/rioxarray-0.18.1-py3-none-any.whl - sha256: 64cc571807204afc1ffaf5f9a0a2640dccb1e2edd602d952a3c65153b6645540 + version: 0.18.2 + url: https://files.pythonhosted.org/packages/fb/b0/2c74f302512fbd24d68fbba0ec6b650b33ef83e398daeb0a2bb1a4cd641c/rioxarray-0.18.2-py3-none-any.whl + sha256: f351c15fc682081ac2cd2c8db367ef0a7ed5acdea29b9e43a6d7bc2ebc5ec6e5 requires_dist: - packaging - rasterio>=1.3.7 - xarray>=2024.7.0 - pyproj>=3.3 - numpy>=1.23 - - scipy ; extra == 'all' - scipy ; extra == 'interp' + - scipy ; extra == 'all' requires_python: '>=3.10' +- kind: pypi + name: rpds-py + version: 0.22.3 + url: https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl + sha256: 1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56 + requires_python: '>=3.9' - kind: pypi name: rsa version: '4.9' @@ -2065,87 +4040,93 @@ packages: - pyasn1>=0.1.3 requires_python: '>=3.6,<4' - kind: pypi - name: setuptools - version: 75.6.0 - url: https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl - sha256: ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d + name: shapely + version: 2.0.7 + url: https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl + sha256: 5aed1c6764f51011d69a679fdf6b57e691371ae49ebe28c3edb5486537ffbd51 requires_dist: - - pytest>=6,!=8.1.* ; extra == 'test' - - virtualenv>=13.0.0 ; extra == 'test' - - wheel>=0.44.0 ; extra == 'test' - - pip>=19.1 ; extra == 'test' - - packaging>=24.2 ; extra == 'test' - - jaraco-envs>=2.2 ; extra == 'test' - - pytest-xdist>=3 ; extra == 'test' - - jaraco-path>=3.2.0 ; extra == 'test' - - build[virtualenv]>=1.0.3 ; extra == 'test' - - filelock>=3.4.0 ; extra == 'test' - - ini2toml[lite]>=0.14 ; extra == 'test' - - tomli-w>=1.0.0 ; extra == 'test' - - pytest-timeout ; extra == 'test' - - pytest-perf ; sys_platform != 'cygwin' and extra == 'test' - - jaraco-develop>=7.21 ; python_full_version >= '3.9' and sys_platform != 'cygwin' and extra == 'test' - - pytest-home>=0.5 ; extra == 'test' - - pytest-subprocess ; extra == 'test' - - pyproject-hooks!=1.1 ; extra == 'test' - - jaraco-test>=5.5 ; extra == 'test' - - sphinx>=3.5 ; extra == 'doc' - - jaraco-packaging>=9.3 ; extra == 'doc' - - rst-linker>=1.9 ; extra == 'doc' - - furo ; extra == 'doc' - - sphinx-lint ; extra == 'doc' - - jaraco-tidelift>=1.4 ; extra == 'doc' - - pygments-github-lexers==0.0.5 ; extra == 'doc' - - sphinx-favicon ; extra == 'doc' - - sphinx-inline-tabs ; extra == 'doc' - - sphinx-reredirects ; extra == 'doc' - - sphinxcontrib-towncrier ; extra == 'doc' - - sphinx-notfound-page>=1,<2 ; extra == 'doc' - - pyproject-hooks!=1.1 ; extra == 'doc' - - towncrier<24.7 ; extra == 'doc' - - packaging>=24.2 ; extra == 'core' - - more-itertools>=8.8 ; extra == 'core' - - jaraco-text>=3.7 ; extra == 'core' - - importlib-metadata>=6 ; python_full_version < '3.10' and extra == 'core' - - tomli>=2.0.1 ; python_full_version < '3.11' and extra == 'core' - - wheel>=0.43.0 ; extra == 'core' - - platformdirs>=4.2.2 ; extra == 'core' - - jaraco-collections ; extra == 'core' - - jaraco-functools>=4 ; extra == 'core' - - packaging ; extra == 'core' - - more-itertools ; extra == 'core' - - pytest-checkdocs>=2.4 ; extra == 'check' - - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' - - ruff>=0.7.0 ; sys_platform != 'cygwin' and extra == 'check' - - pytest-cov ; extra == 'cover' - - pytest-enabler>=2.2 ; extra == 'enabler' - - pytest-mypy ; extra == 'type' - - mypy>=1.12,<1.14 ; extra == 'type' - - importlib-metadata>=7.0.2 ; python_full_version < '3.10' and extra == 'type' - - jaraco-develop>=7.21 ; sys_platform != 'cygwin' and extra == 'type' - requires_python: '>=3.9' -- kind: conda + - numpy>=1.14,<3 + - pytest ; extra == 'test' + - pytest-cov ; extra == 'test' + - numpydoc==1.1.* ; extra == 'docs' + - matplotlib ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-book-theme ; extra == 'docs' + - sphinx-remove-toctrees ; extra == 'docs' + requires_python: '>=3.7' +- kind: pypi name: six - version: 1.16.0 - build: pyh6c4a22f_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6 - md5: e5f25f8dbc060e9a8d912e432202afc2 + version: 1.17.0 + url: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl + sha256: 4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 + requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' +- kind: conda + name: snappy + version: 1.2.1 + build: h98b9ce2_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/snappy-1.2.1-h98b9ce2_1.conda + sha256: 4242f95b215127a006eb664fe26ed5a82df87e90cbdbc7ce7ff4971f0720997f + md5: ded86dee325290da2967a3fea3800eb5 depends: - - python - license: MIT - license_family: MIT - purls: - - pkg:pypi/six?source=hash-mapping - size: 14259 - timestamp: 1620240338595 + - __osx >=11.0 + - libcxx >=18 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 35857 + timestamp: 1733502172664 - kind: pypi name: sortedcontainers version: 2.4.0 url: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl sha256: a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0 +- kind: conda + name: sqlite + version: 3.48.0 + build: hd7222ec_1 + build_number: 1 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda + sha256: 6c1609abe16ed39dd099eb7e32e2f3228105ab81bdd8da65700d46ee0984013e + md5: 802cc94c9fa238cb3f802d430a528bd5 + depends: + - __osx >=11.0 + - libsqlite 3.48.0 h3f77e49_1 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - readline >=8.2,<9.0a0 + license: Unlicense + purls: [] + size: 858007 + timestamp: 1737565018178 +- kind: pypi + name: sqlparse + version: 0.5.3 + url: https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl + sha256: cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca + requires_dist: + - build ; extra == 'dev' + - hatch ; extra == 'dev' + - sphinx ; extra == 'doc' + requires_python: '>=3.8' +- kind: conda + name: svt-av1 + version: 2.3.0 + build: hf24288c_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda + sha256: ab876ed8bdd20e22a868dcb8d03e9ce9bbba7762d7e652d49bfff6af768a5b8f + md5: 114c33e9eec335a379c9ee6c498bb807 + depends: + - __osx >=11.0 + - libcxx >=17 + license: BSD-2-Clause + license_family: BSD + purls: [] + size: 1387330 + timestamp: 1730246134730 - kind: pypi name: tblib version: 3.0.0 @@ -2174,87 +4155,107 @@ packages: url: https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl sha256: 292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236 requires_python: '>=3.8' -- kind: conda +- kind: pypi name: tornado version: 6.4.2 - build: py312hea69d52_0 - subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/tornado-6.4.2-py312hea69d52_0.conda - sha256: 964a2705a36c50040c967b18b45b9cc8de3c2aff4af546979a574e0b38e58e39 - md5: fb0605888a475d6a380ae1d1a819d976 - depends: - - __osx >=11.0 - - python >=3.12,<3.13.0a0 - - python >=3.12,<3.13.0a0 *_cpython - - python_abi 3.12.* *_cp312 - license: Apache-2.0 - license_family: Apache - purls: - - pkg:pypi/tornado?source=hash-mapping - size: 842549 - timestamp: 1732616081362 -- kind: conda - name: typing_extensions + url: https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl + sha256: e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1 + requires_python: '>=3.8' +- kind: pypi + name: typing-extensions version: 4.12.2 - build: pyha770c72_0 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.12.2-pyha770c72_0.conda - sha256: 0fce54f8ec3e59f5ef3bb7641863be4e1bf1279623e5af3d3fa726e8f7628ddb - md5: ebe6952715e1d5eb567eeebf25250fa7 - depends: - - python >=3.8 - license: PSF-2.0 - license_family: PSF - purls: - - pkg:pypi/typing-extensions?source=hash-mapping - size: 39888 - timestamp: 1717802653893 + url: https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl + sha256: 04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d + requires_python: '>=3.8' - kind: pypi name: tzdata - version: '2024.2' - url: https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl - sha256: a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd + version: '2025.1' + url: https://files.pythonhosted.org/packages/0f/dd/84f10e23edd882c6f968c21c2434fe67bd4a528967067515feca9e611e5e/tzdata-2025.1-py2.py3-none-any.whl + sha256: 7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639 requires_python: '>=2' - kind: conda name: tzdata - version: 2024b - build: hc8b5060_0 + version: 2025a + build: h78e105d_0 subdir: noarch noarch: generic - url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024b-hc8b5060_0.conda - sha256: 4fde5c3008bf5d2db82f2b50204464314cc3c91c1d953652f7bd01d9e52aefdf - md5: 8ac3367aafb1cc0a068483c580af8015 + url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda + sha256: c4b1ae8a2931fe9b274c44af29c5475a85b37693999f8c792dad0f8c6734b1de + md5: dbcace4706afdfb7eb891f7b37d07c04 license: LicenseRef-Public-Domain purls: [] - size: 122354 - timestamp: 1728047496079 + size: 122921 + timestamp: 1737119101255 +- kind: pypi + name: ujson + version: 5.10.0 + url: https://files.pythonhosted.org/packages/a8/47/dd03fd2b5ae727e16d5d18919b383959c6d269c7b948a380fdd879518640/ujson-5.10.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: a9d2edbf1556e4f56e50fab7d8ff993dbad7f54bac68eacdd27a8f55f433578e + requires_python: '>=3.8' +- kind: conda + name: uriparser + version: 0.9.8 + build: h00cdb27_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda + sha256: fa0bcbfb20a508ca9bf482236fe799581cbd0eab016e47a865e9fa44dbe3c512 + md5: e8ff9e11babbc8cd77af5a4258dc2802 + depends: + - __osx >=11.0 + - libcxx >=16 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 40625 + timestamp: 1715010029254 - kind: pypi name: uritemplate - version: 3.0.1 - url: https://files.pythonhosted.org/packages/bf/0c/60d82c077998feb631608dca3cc1fe19ac074e772bf0c24cf409b977b815/uritemplate-3.0.1-py2.py3-none-any.whl - sha256: 07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f - requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*' + version: 4.1.1 + url: https://files.pythonhosted.org/packages/81/c0/7461b49cd25aeece13766f02ee576d1db528f1c37ce69aee300e075b485b/uritemplate-4.1.1-py2.py3-none-any.whl + sha256: 830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e + requires_python: '>=3.6' - kind: pypi name: urllib3 - version: 2.2.3 - url: https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl - sha256: ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac + version: 2.3.0 + url: https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl + sha256: 1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df requires_dist: - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli' - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' - h2>=4,<5 ; extra == 'h2' - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' - zstandard>=0.18.0 ; extra == 'zstd' + requires_python: '>=3.9' +- kind: pypi + name: wrapt + version: 1.17.2 + url: https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl + sha256: 8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40 requires_python: '>=3.8' +- kind: conda + name: x265 + version: '3.5' + build: hbc6ce65_3 + build_number: 3 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 + sha256: 2fed6987dba7dee07bd9adc1a6f8e6c699efb851431bcb6ebad7de196e87841d + md5: b1f7f2780feffe310b068c021e8ff9b2 + depends: + - libcxx >=12.0.1 + license: GPL-2.0-or-later + license_family: GPL + purls: [] + size: 1832744 + timestamp: 1646609481185 - kind: pypi name: xarray - version: 2024.10.0 - url: https://files.pythonhosted.org/packages/a9/b7/9830def68e5575a24ca6d6f46b285d35ed27860beaa4f72848cd82870253/xarray-2024.10.0-py3-none-any.whl - sha256: ae1d38cb44a0324dfb61e492394158ae22389bf7de9f3c174309c17376df63a0 + version: 2025.1.2 + url: https://files.pythonhosted.org/packages/05/79/4e19100342fe13d69fd6e77b343e2269924fec681258e2ea21b55576aad2/xarray-2025.1.2-py3-none-any.whl + sha256: a7ad6a36c6e0becd67f8aff6a7808d20e4bdcd344debb5205f0a34b1a4a7f8d6 requires_dist: - numpy>=1.24 - - packaging>=23.1 + - packaging>=23.2 - pandas>=2.1 - scipy ; extra == 'accel' - bottleneck ; extra == 'accel' @@ -2264,6 +4265,7 @@ packages: - opt-einsum ; extra == 'accel' - xarray[accel,etc,io,parallel,viz] ; extra == 'complete' - hypothesis ; extra == 'dev' + - jinja2 ; extra == 'dev' - mypy ; extra == 'dev' - pre-commit ; extra == 'dev' - pytest ; extra == 'dev' @@ -2271,19 +4273,19 @@ packages: - pytest-env ; extra == 'dev' - pytest-xdist ; extra == 'dev' - pytest-timeout ; extra == 'dev' - - ruff ; extra == 'dev' + - ruff>=0.8.0 ; extra == 'dev' - sphinx ; extra == 'dev' - sphinx-autosummary-accessors ; extra == 'dev' - xarray[complete] ; extra == 'dev' - - sparse ; extra == 'etc' - netcdf4 ; extra == 'io' - h5netcdf ; extra == 'io' - scipy ; extra == 'io' + - pydap ; python_full_version < '3.10' and extra == 'io' - zarr ; extra == 'io' - fsspec ; extra == 'io' - cftime ; extra == 'io' - pooch ; extra == 'io' - - pydap ; python_full_version < '3.10' and extra == 'io' + - sparse ; extra == 'etc' - dask[complete] ; extra == 'parallel' - cartopy ; extra == 'viz' - matplotlib ; extra == 'viz' @@ -2292,21 +4294,32 @@ packages: requires_python: '>=3.10' - kind: pypi name: xarray-beam - version: 0.0.1 - url: https://files.pythonhosted.org/packages/72/f4/797f3e15cd1136d3f530baec0e06a0c700339b55b96e9420b28324c60c73/xarray_beam-0.0.1-py3-none-any.whl - sha256: 20f089420b71105f77be9b312514092eab68941818548b6c9bd1c49d447c20ff + version: 0.6.3 + url: https://files.pythonhosted.org/packages/40/7d/01fea08d4dcb21d41cc6a69ee1106866dd4ee90b91f501416ad892e4e12f/xarray_beam-0.6.3-py3-none-any.whl + sha256: 3236e90bf6fd5a2b9efdd6e61a40df1d16dff5536c2cc2b1117c179f4215e842 requires_dist: - - apache-beam + - apache-beam>=2.31.0 - dask - - rechunker + - immutabledict + - rechunker>=0.5.1 - zarr - xarray + - myst-nb ; extra == 'docs' + - myst-parser ; extra == 'docs' + - sphinx ; extra == 'docs' + - sphinx-rtd-theme ; extra == 'docs' + - scipy ; extra == 'docs' + - absl-py ; extra == 'tests' + - pandas ; extra == 'tests' + - pytest ; extra == 'tests' + - scipy ; extra == 'tests' + - h5netcdf ; extra == 'tests' requires_python: '>=3' - kind: pypi name: xee - version: 0.0.21.dev7+g4ba0259.d20250203 + version: 0.0.21.dev8+gc107bca.d20250203 path: . - sha256: 8199673c3344c561e099788ada64f45ca20038c3756f42b330664b30d60e551a + sha256: d78c5962a962436b95decd8fc2a1394031fc684e1b6605d6ffcc17028e2311a1 requires_dist: - xarray[parallel] - earthengine-api>=0.1.374 @@ -2322,25 +4335,37 @@ packages: - gcsfs<=2024.2.0 ; extra == 'dataflow' - xarray-beam ; extra == 'dataflow' - xee[dataflow] ; extra == 'examples' - requires_python: '>=3.8' + requires_python: '>=3.8,<3.13' editable: true - kind: conda - name: xz - version: 5.2.6 - build: h57fd34a_0 + name: xerces-c + version: 3.2.5 + build: h92fc2f4_2 + build_number: 2 subdir: osx-arm64 - url: https://conda.anaconda.org/conda-forge/osx-arm64/xz-5.2.6-h57fd34a_0.tar.bz2 - sha256: 59d78af0c3e071021cfe82dc40134c19dab8cdf804324b62940f5c8cd71803ec - md5: 39c6b54e94014701dd157f4f576ed211 - license: LGPL-2.1 and GPL-2.0 + url: https://conda.anaconda.org/conda-forge/osx-arm64/xerces-c-3.2.5-h92fc2f4_2.conda + sha256: 863a7c2a991a4399d362d42c285ebc20748a4ea417647ebd3a171e2220c7457d + md5: 50b7325437ef0901fe25dc5c9e743b88 + depends: + - __osx >=11.0 + - icu >=75.1,<76.0a0 + - libcxx >=17 + license: Apache-2.0 + license_family: Apache purls: [] - size: 235693 - timestamp: 1660346961024 + size: 1277884 + timestamp: 1727733870250 +- kind: pypi + name: xyzservices + version: 2025.1.0 + url: https://files.pythonhosted.org/packages/9a/6e/49408735dae940a0c1c225c6b908fd83bd6e3f5fae120f865754e72f78cb/xyzservices-2025.1.0-py3-none-any.whl + sha256: fa599956c5ab32dad1689960b3bb08fdcdbe0252cc82d84fc60ae415dc648907 + requires_python: '>=3.8' - kind: pypi name: yarl - version: 1.17.1 - url: https://files.pythonhosted.org/packages/e3/a2/b65447626227ebe36f18f63ac551790068bf42c69bb22dfa3ae986170728/yarl-1.17.1-cp312-cp312-macosx_11_0_arm64.whl - sha256: c73df5b6e8fabe2ddb74876fb82d9dd44cbace0ca12e8861ce9155ad3c886139 + version: 1.18.3 + url: https://files.pythonhosted.org/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl + sha256: 25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640 requires_dist: - idna>=2.0 - multidict>=4.0 @@ -2348,26 +4373,46 @@ packages: requires_python: '>=3.9' - kind: pypi name: zarr - version: 2.18.4 - url: https://files.pythonhosted.org/packages/b4/d1/c84022a44afc7b7ccc442fba3daee56bdd03593d91ee4bc245a08e4fcc55/zarr-2.18.4-py3-none-any.whl - sha256: 2795e20aff91093ce7e4da36ab1a138aededbd8ab66bf01fd01512e61d31e5d1 + version: 3.0.2 + url: https://files.pythonhosted.org/packages/27/83/4316503558c57a2d1928afaf0e77f47cf00d394347c88aaafbf0efaf5685/zarr-3.0.2-py3-none-any.whl + sha256: cd57949934a339cddc4853c0e819fd7f8e0370022e8eeddec2e56a6b13dc5021 requires_dist: - - asciitree - - numpy>=1.24 - - fasteners ; sys_platform != 'emscripten' - - numcodecs>=0.10.0,!=0.14.0,!=0.14.1 - - notebook ; extra == 'jupyter' - - ipytree>=0.2.2 ; extra == 'jupyter' - - ipywidgets>=8.0.0 ; extra == 'jupyter' - - sphinx ; extra == 'docs' - - sphinx-automodapi ; extra == 'docs' + - donfig>=0.8 + - numcodecs[crc32c]>=0.14 + - numpy>=1.25 + - packaging>=22.0 + - typing-extensions>=4.9 + - numcodecs[msgpack] ; extra == 'docs' + - numpydoc ; extra == 'docs' + - pydata-sphinx-theme ; extra == 'docs' + - rich ; extra == 'docs' + - s3fs ; extra == 'docs' + - sphinx-autoapi==3.4.0 ; extra == 'docs' + - sphinx-autobuild>=2021.3.14 ; extra == 'docs' + - sphinx-copybutton ; extra == 'docs' - sphinx-design ; extra == 'docs' - sphinx-issues ; extra == 'docs' - - sphinx-copybutton ; extra == 'docs' - - pydata-sphinx-theme ; extra == 'docs' - - numpydoc ; extra == 'docs' - - numcodecs[msgpack]!=0.14.0,!=0.14.1 ; extra == 'docs' - - pytest-doctestplus ; extra == 'docs' + - sphinx-reredirects ; extra == 'docs' + - sphinx==8.1.3 ; extra == 'docs' + - towncrier ; extra == 'docs' + - cupy-cuda12x ; extra == 'gpu' + - rich ; extra == 'optional' + - universal-pathlib ; extra == 'optional' + - fsspec>=2023.10.0 ; extra == 'remote' + - botocore ; extra == 'test' + - coverage ; extra == 'test' + - fsspec>=2023.10.0 ; extra == 'test' + - hypothesis ; extra == 'test' + - moto[s3,server] ; extra == 'test' + - mypy ; extra == 'test' + - pytest ; extra == 'test' + - pytest-accept ; extra == 'test' + - pytest-asyncio ; extra == 'test' + - pytest-cov ; extra == 'test' + - requests ; extra == 'test' + - rich ; extra == 'test' + - s3fs ; extra == 'test' + - universal-pathlib ; extra == 'test' requires_python: '>=3.11' - kind: pypi name: zict @@ -2375,3 +4420,71 @@ packages: url: https://files.pythonhosted.org/packages/80/ab/11a76c1e2126084fde2639514f24e6111b789b0bfa4fc6264a8975c7e1f1/zict-3.0.0-py2.py3-none-any.whl sha256: 5796e36bd0e0cc8cf0fbc1ace6a68912611c1dbd74750a3f3026b9b9d6a327ae requires_python: '>=3.8' +- kind: pypi + name: zipp + version: 3.21.0 + url: https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl + sha256: ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931 + requires_dist: + - pytest-checkdocs>=2.4 ; extra == 'check' + - pytest-ruff>=0.2.1 ; sys_platform != 'cygwin' and extra == 'check' + - pytest-cov ; extra == 'cover' + - sphinx>=3.5 ; extra == 'doc' + - jaraco-packaging>=9.3 ; extra == 'doc' + - rst-linker>=1.9 ; extra == 'doc' + - furo ; extra == 'doc' + - sphinx-lint ; extra == 'doc' + - jaraco-tidelift>=1.4 ; extra == 'doc' + - pytest-enabler>=2.2 ; extra == 'enabler' + - pytest>=6,!=8.1.* ; extra == 'test' + - jaraco-itertools ; extra == 'test' + - jaraco-functools ; extra == 'test' + - more-itertools ; extra == 'test' + - big-o ; extra == 'test' + - pytest-ignore-flaky ; extra == 'test' + - jaraco-test ; extra == 'test' + - importlib-resources ; python_full_version < '3.9' and extra == 'test' + - pytest-mypy ; extra == 'type' + requires_python: '>=3.9' +- kind: conda + name: zlib + version: 1.3.1 + build: h8359307_2 + build_number: 2 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zlib-1.3.1-h8359307_2.conda + sha256: 58f8860756680a4831c1bf4f294e2354d187f2e999791d53b1941834c4b37430 + md5: e3170d898ca6cb48f1bb567afb92f775 + depends: + - __osx >=11.0 + - libzlib 1.3.1 h8359307_2 + license: Zlib + license_family: Other + purls: [] + size: 77606 + timestamp: 1727963209370 +- kind: pypi + name: zstandard + version: 0.23.0 + url: https://files.pythonhosted.org/packages/5b/b3/1a028f6750fd9227ee0b937a278a434ab7f7fdc3066c3173f64366fe2466/zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl + sha256: 1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8 + requires_dist: + - cffi>=1.11 ; platform_python_implementation == 'PyPy' + - cffi>=1.11 ; extra == 'cffi' + requires_python: '>=3.8' +- kind: conda + name: zstd + version: 1.5.6 + build: hb46c0d2_0 + subdir: osx-arm64 + url: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.6-hb46c0d2_0.conda + sha256: 2d4fd1ff7ee79cd954ca8e81abf11d9d49954dd1fef80f27289e2402ae9c2e09 + md5: d96942c06c3e84bfcc5efb038724a7fd + depends: + - __osx >=11.0 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-3-Clause + license_family: BSD + purls: [] + size: 405089 + timestamp: 1714723101397 diff --git a/pyproject.toml b/pyproject.toml index 3da1375..dacf39d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "xee" dynamic = ["version"] description = "A Google Earth Engine extension for Xarray." readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.8,<3.13" license = {text = "Apache-2.0"} authors = [ {name = "Google LLC", email = "noreply@google.com"}, @@ -85,3 +85,7 @@ examples = { features = ["examples", "dataflow"], solve-group = "default" } tests = { features = ["tests"], solve-group = "default" } [tool.pixi.tasks] + +[tool.pixi.dependencies] +proj = ">=9.5.1,<10" +gdal = ">=3.10.1,<4" From fd2b255b2d78cced2415ad939192954113e94c5e Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Wed, 26 Feb 2025 10:18:28 -0800 Subject: [PATCH 09/11] Use grid params (crs, crs_transform, shape_2d) --- .vscode/settings.json | 3 + pixi.lock | 200 ++++++++++++++++++------ pyproject.toml | 2 + xee/ext.py | 277 +++++++--------------------------- xee/ext_integration_test.py | 293 +++++++++++++++++------------------- xee/ext_test.py | 72 +++++++++ xee/helpers.py | 156 +++++++++++++++++++ 7 files changed, 583 insertions(+), 420 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 xee/helpers.py diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..ff30c44 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.tabSize": 2 +} \ No newline at end of file diff --git a/pixi.lock b/pixi.lock index 159c81e..443ab96 100644 --- a/pixi.lock +++ b/pixi.lock @@ -12,13 +12,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 @@ -61,8 +64,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda @@ -71,6 +77,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 @@ -169,11 +176,9 @@ environments: - pypi: https://files.pythonhosted.org/packages/da/fb/dc15fad105450a015e913cfa4f5c27b6a5f1bea8fb649f8cae11e699c8af/opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl - pypi: https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/4a/de/bbe712f94d088da1d237c35d735f675e494a816fd6f54e9db2f61ef4d03f/propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl @@ -233,13 +238,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 @@ -282,8 +290,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda @@ -292,6 +303,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 @@ -327,7 +339,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl @@ -369,13 +380,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 @@ -418,8 +432,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda @@ -428,6 +445,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 @@ -526,11 +544,9 @@ environments: - pypi: https://files.pythonhosted.org/packages/da/fb/dc15fad105450a015e913cfa4f5c27b6a5f1bea8fb649f8cae11e699c8af/opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl - pypi: https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/4a/de/bbe712f94d088da1d237c35d735f675e494a816fd6f54e9db2f61ef4d03f/propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl @@ -590,13 +606,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/c-ares-1.34.4-h5505292_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ca-certificates-2025.1.31-hf0a4a13_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/dav1d-1.2.1-hb547adb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/freexl-2.0.0-h3ab3353_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/gdal-3.10.1-py312h1afea5f_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geos-3.13.0-hf9b8971_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/geotiff-1.7.3-h82bf549_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/giflib-5.2.2-h93a5062_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/json-c-0.18-he4178ee_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/krb5-1.21.3-h237132a_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/lerc-4.0.0-h9a09cb3_0.tar.bz2 @@ -639,8 +658,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/numpy-2.2.2-py312h7c1f314_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.4.0-h81ee809_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pcre2-10.44-h297a79d_2.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/proj-9.5.1-h1318a7e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.12.8-hc22306f_1_cpython.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python_abi-3.12-5_cp312.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/rav1e-0.6.6-h69fbcac_2.conda @@ -649,6 +671,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/sqlite-3.48.0-hd7222ec_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/svt-av1-2.3.0-hf24288c_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h5083fa2_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025a-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/uriparser-0.9.8-h00cdb27_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/x265-3.5-hbc6ce65_3.tar.bz2 @@ -684,20 +707,17 @@ environments: - pypi: https://files.pythonhosted.org/packages/a0/0f/c0713fb2b3d28af4b2fded3291df1c4d4f79a00d15c2374a9e010870016c/googleapis_common_protos-1.66.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b7/25/edd77ac155e167f0d183f0a30be1665ab581f77108ca6e19d628cd381e42/lz4-4.4.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b9/d8/f6004d98579a2596c098d1e30d10b248798cceff82d2b77aa914875bfea1/pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/42/c3/59308ccc07b34980f9d532f7afc718a9f32b40e52cde7a740df8d55632fb/proto_plus-1.26.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/dd/04/3eaedc2ba17a088961d0e3bd396eac764450f431621b58a04ce898acd126/protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl - pypi: https://files.pythonhosted.org/packages/0b/6b/73dbde0dd38f3782905d4587049b9be64d76671042fdcaf60e2430c6796d/psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl @@ -708,7 +728,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/1f/12/2f271b3601ae25731879f160d6b3941d80eb6b4f3e24be90289e33fb1dc4/pyink-24.10.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz - - pypi: https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/eb/38/ac33370d784287baa1c3d538978b5e2ea064d4c1b93ffbd12826c190dd10/pytz-2025.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl @@ -716,6 +735,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/fb/b0/2c74f302512fbd24d68fbba0ec6b650b33ef83e398daeb0a2bb1a4cd641c/rioxarray-0.18.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9b/87/ce70db7cae60e67851eb94e1a2127d4abb573d3866d2efd302ceb0d4d2a5/tblib-3.0.0-py3-none-any.whl @@ -1134,6 +1154,24 @@ packages: url: https://files.pythonhosted.org/packages/15/80/44286939ca215e88fa827b2aeb6fa3fd2b4a7af322485c7170d6f9fd96e0/cloudpickle-2.2.1-py3-none-any.whl sha256: 61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f requires_python: '>=3.6' +- kind: conda + name: colorama + version: 0.4.6 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + purls: + - pkg:pypi/colorama?source=hash-mapping + size: 27011 + timestamp: 1733218222191 - kind: pypi name: contourpy version: 1.3.1 @@ -1346,6 +1384,23 @@ packages: - geopandas ; extra == 'tests' - numpy ; extra == 'tests' requires_python: '>=3.9' +- kind: conda + name: exceptiongroup + version: 1.2.2 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.2-pyhd8ed1ab_1.conda + sha256: cbde2c64ec317118fc06b223c5fd87c8a680255e7348dd60e7b292d2e103e701 + md5: a16662747cdeb9abbac74d0057cc976e + depends: + - python >=3.9 + license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup?source=hash-mapping + size: 20486 + timestamp: 1733208916977 - kind: pypi name: fastavro version: 1.10.0 @@ -2231,12 +2286,24 @@ packages: - importlib-resources>=1.3 ; python_full_version < '3.9' and extra == 'test' - pytest-mypy ; extra == 'type' requires_python: '>=3.8' -- kind: pypi +- kind: conda name: iniconfig version: 2.0.0 - url: https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl - sha256: b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 - requires_python: '>=3.7' + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.0.0-pyhd8ed1ab_1.conda + sha256: 0ec8f4d02053cd03b0f3e63168316530949484f80e16f5e2fb199a1d117a89ca + md5: 6837f3eff7dcea42ecd714ce1ac2b108 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/iniconfig?source=hash-mapping + size: 11474 + timestamp: 1733223232820 - kind: pypi name: jaraco-classes version: 3.4.0 @@ -3381,12 +3448,24 @@ packages: requires_dist: - typing ; python_full_version < '3.5' requires_python: '>=3.6' -- kind: pypi +- kind: conda name: packaging version: '24.2' - url: https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl - sha256: 09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 - requires_python: '>=3.8' + build: pyhd8ed1ab_2 + build_number: 2 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/packaging-24.2-pyhd8ed1ab_2.conda + sha256: da157b19bcd398b9804c5c52fc000fcb8ab0525bdb9c70f95beaa0bb42f85af1 + md5: 3bfed7e6228ebf2f7b9eaa47f1b4e2aa + depends: + - python >=3.8 + license: Apache-2.0 + license_family: APACHE + purls: + - pkg:pypi/packaging?source=hash-mapping + size: 60164 + timestamp: 1733203368787 - kind: pypi name: pandas version: 2.2.3 @@ -3561,17 +3640,24 @@ packages: - pytest>=8.3.2 ; extra == 'test' - mypy>=1.11.2 ; extra == 'type' requires_python: '>=3.8' -- kind: pypi +- kind: conda name: pluggy version: 1.5.0 - url: https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl - sha256: 44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 - requires_dist: - - pre-commit ; extra == 'dev' - - tox ; extra == 'dev' - - pytest ; extra == 'testing' - - pytest-benchmark ; extra == 'testing' - requires_python: '>=3.8' + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_1.conda + sha256: 122433fc5318816b8c69283aaf267c73d87aa2d09ce39f64c9805c9a3b264819 + md5: e9dcbce5f45f9ee500e728ae58b605b6 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pluggy?source=hash-mapping + size: 23595 + timestamp: 1733222855563 - kind: conda name: proj version: 9.5.1 @@ -3765,27 +3851,32 @@ packages: requires_dist: - certifi requires_python: '>=3.10' -- kind: pypi +- kind: conda name: pytest version: 8.3.4 - url: https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl - sha256: 50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6 - requires_dist: - - colorama ; sys_platform == 'win32' - - exceptiongroup>=1.0.0rc8 ; python_full_version < '3.11' + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.3.4-pyhd8ed1ab_1.conda + sha256: 75245ca9d0cbd6d38bb45ec02430189a9d4c21c055c5259739d738a2298d61b3 + md5: 799ed216dc6af62520f32aa39bc1c2bb + depends: + - colorama + - exceptiongroup >=1.0.0rc8 - iniconfig - packaging - - pluggy>=1.5,<2 - - tomli>=1 ; python_full_version < '3.11' - - argcomplete ; extra == 'dev' - - attrs>=19.2 ; extra == 'dev' - - hypothesis>=3.56 ; extra == 'dev' - - mock ; extra == 'dev' - - pygments>=2.7.2 ; extra == 'dev' - - requests ; extra == 'dev' - - setuptools ; extra == 'dev' - - xmlschema ; extra == 'dev' - requires_python: '>=3.8' + - pluggy <2,>=1.5 + - python >=3.9 + - tomli >=1 + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + purls: + - pkg:pypi/pytest?source=hash-mapping + size: 259195 + timestamp: 1733217599806 - kind: conda name: python version: 3.12.8 @@ -4149,6 +4240,24 @@ packages: purls: [] size: 3145523 timestamp: 1699202432999 +- kind: conda + name: tomli + version: 2.2.1 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.2.1-pyhd8ed1ab_1.conda + sha256: 18636339a79656962723077df9a56c0ac7b8a864329eb8f847ee3d38495b863e + md5: ac944244f1fed2eb49bae07193ae8215 + depends: + - python >=3.9 + license: MIT + license_family: MIT + purls: + - pkg:pypi/tomli?source=hash-mapping + size: 19167 + timestamp: 1733256819729 - kind: pypi name: toolz version: 1.0.0 @@ -4317,9 +4426,9 @@ packages: requires_python: '>=3' - kind: pypi name: xee - version: 0.0.21.dev8+gc107bca.d20250203 + version: 0.0.21.dev9+g0dbd250.d20250217 path: . - sha256: d78c5962a962436b95decd8fc2a1394031fc684e1b6605d6ffcc17028e2311a1 + sha256: 387d6352b9b392c59aeb19f771a8d8f46661876f39be368b955f04724f2beb0b requires_dist: - xarray[parallel] - earthengine-api>=0.1.374 @@ -4330,6 +4439,7 @@ packages: - pyink ; extra == 'tests' - rasterio ; extra == 'tests' - rioxarray ; extra == 'tests' + - shapely ; extra == 'tests' - absl-py ; extra == 'dataflow' - apache-beam[gcp] ; extra == 'dataflow' - gcsfs<=2024.2.0 ; extra == 'dataflow' diff --git a/pyproject.toml b/pyproject.toml index dacf39d..9427152 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,6 +40,7 @@ tests = [ "pyink", "rasterio", "rioxarray", + "shapely", ] dataflow = [ "absl-py", @@ -89,3 +90,4 @@ tests = { features = ["tests"], solve-group = "default" } [tool.pixi.dependencies] proj = ">=9.5.1,<10" gdal = ">=3.10.1,<4" +pytest = ">=8.3.4,<9" diff --git a/xee/ext.py b/xee/ext.py index c6890ad..cacebe1 100644 --- a/xee/ext.py +++ b/xee/ext.py @@ -34,8 +34,6 @@ import affine import numpy as np import pandas as pd -import pyproj -from pyproj.crs import CRS import xarray from xarray import backends from xarray.backends import common @@ -61,6 +59,10 @@ # data as a single chunk. Chunks = Union[int, Dict[Any, Any], Literal['auto'], None] +# Types for type hints +CrsType = str +TransformType = Union[affine.Affine, Tuple[float, float, float, float, float, float]] +ShapeType = Tuple[int, int] _BUILTIN_DTYPES = { 'int': np.int32, @@ -78,6 +80,14 @@ # value was chosen by trial and error. _TO_LIST_WARNING_LIMIT = 10000 +EE_AFFINE_TRANSFORM_FIELDS = [ + 'scaleX', + 'shearX', + 'translateX', + 'shearY', + 'scaleY', + 'translateY' +] # Used in ext_test.py. def _check_request_limit(chunks: Dict[str, int], dtype_size: int, limit: int): @@ -122,13 +132,6 @@ class EarthEngineStore(common.AbstractDataStore): 'm': 10_000, } - DIMENSION_NAMES: Dict[str, Tuple[str, str]] = { - 'degree': ('lon', 'lat'), - 'metre': ('X', 'Y'), - 'meter': ('X', 'Y'), - 'm': ('X', 'Y'), - } - DEFAULT_MASK_VALUE = np.iinfo(np.int32).max ATTRS_VALID_TYPES = ( @@ -146,13 +149,12 @@ class EarthEngineStore(common.AbstractDataStore): def open( cls, image_collection: ee.ImageCollection, + crs: CrsType, + crs_transform: TransformType, + shape_2d: ShapeType, mode: Literal['r'] = 'r', chunk_store: Chunks = None, n_images: int = -1, - crs: Optional[str] = None, - scale: Optional[float] = None, - projection: Optional[ee.Projection] = None, - geometry: ee.Geometry | Tuple[float, float, float, float] | None = None, primary_dim_name: Optional[str] = None, primary_dim_property: Optional[str] = None, mask_value: Optional[float] = None, @@ -170,12 +172,11 @@ def open( return cls( image_collection, + crs=crs, + crs_transform=crs_transform, + shape_2d=shape_2d, chunks=chunk_store, n_images=n_images, - crs=crs, - scale=scale, - projection=projection, - geometry=geometry, primary_dim_name=primary_dim_name, primary_dim_property=primary_dim_property, mask_value=mask_value, @@ -190,12 +191,11 @@ def open( def __init__( self, image_collection: ee.ImageCollection, + crs: CrsType, + crs_transform: TransformType, + shape_2d: ShapeType, chunks: Chunks = None, n_images: int = -1, - crs: Optional[str] = None, - scale: Union[float, int, None] = None, - projection: Optional[ee.Projection] = None, - geometry: ee.Geometry | Tuple[float, float, float, float] | None = None, primary_dim_name: Optional[str] = None, primary_dim_property: Optional[str] = None, mask_value: Optional[float] = None, @@ -221,8 +221,10 @@ def __init__( if n_images != -1: self.image_collection = image_collection.limit(n_images) - self.projection = projection - self.geometry = geometry + self.crs = crs + self.crs_transform = crs_transform + self.shape_2d = shape_2d + self.primary_dim_name = primary_dim_name or 'time' self.primary_dim_property = primary_dim_property or 'system:time_start' @@ -231,36 +233,11 @@ def __init__( # Metadata should apply to all imgs. self._img_info: types.ImageInfo = self.get_info['first'] - proj = self.get_info.get('projection', {}) - - self.crs_arg = crs or proj.get('crs', proj.get('wkt', 'EPSG:4326')) - self.crs = CRS(self.crs_arg) - - is_crs_geographic = self.crs.is_geographic - # Gets the unit i.e. meter, degree etc. - self.scale_units = 'degree' if is_crs_geographic else 'meter' - # Get the dimensions name based on the CRS (scale units). - self.dimension_names = self.DIMENSION_NAMES.get( - self.scale_units, ('X', 'Y') - ) - x_dim_name, y_dim_name = self.dimension_names - self._props.update( - coordinates=f'{self.primary_dim_name} {x_dim_name} {y_dim_name}', - crs=self.crs_arg, - ) + self.dimension_names = ('x', 'y') self._props = self._make_attrs_valid(self._props) - # Scale in the projection's units. Typically, either meters or degrees. - # If we use the default CRS i.e. EPSG:3857, the units is in meters. - default_scale = self.SCALE_UNITS.get(self.scale_units, 1) - if scale is None: - scale = default_scale - default_transform = affine.Affine.scale(scale, scale) - - transform = affine.Affine(*proj.get('transform', default_transform)[:6]) - self.scale_x, self.scale_y = transform.a, transform.e - self.scale = np.sqrt(np.abs(transform.determinant)) - - self.bounds = self._determine_bounds(geometry=geometry) + self.scale_x, self.scale_y = crs_transform[0], crs_transform[4] + affine_transform = affine.Affine(*crs_transform) + self.scale = np.sqrt(np.abs(affine_transform.determinant)) max_dtype = self._max_itemsize() @@ -288,20 +265,6 @@ def get_info(self) -> Dict[str, Any]: ('first', self.image_collection.first()), ] - if isinstance(self.projection, ee.Projection): - rpcs.append(('projection', self.projection)) - - if isinstance(self.geometry, ee.Geometry): - rpcs.append(('bounds', self.geometry.bounds(1, proj=self.projection))) - else: - rpcs.append( - ( - 'bounds', - self.image_collection.first() - .geometry() - .bounds(1, proj=self.projection), - ) - ) # TODO(#29, #30): This RPC call takes the longest time to compute. This # requires a full scan of the images in the collection, which happens on the @@ -416,11 +379,6 @@ def _assign_preferred_chunks(self) -> Chunks: chunks[y_dim_name] = self.chunks['height'] return chunks - def transform(self, xs: float, ys: float) -> Tuple[float, float]: - transformer = pyproj.Transformer.from_crs( - self.crs.geodetic_crs, self.crs, always_xy=True - ) - return transformer.transform(xs, ys) def project(self, bbox: types.BBox) -> types.Grid: """Translate a bounding box (pixel space) to a grid (projection space). @@ -436,41 +394,24 @@ def project(self, bbox: types.BBox) -> types.Grid: appropriate region of data to return according to the Array's configured projection and scale. """ - x_min, y_min, x_max, y_max = self.bounds x_start, y_start, x_end, y_end = bbox - width = x_end - x_start - height = y_end - y_start - - # Find the actual coordinates of the first or last point of the bounding box - # (bbox) based on the positive and negative scale in the actual Earth Engine - # (EE) image. Since EE bounding boxes can be flipped (negative scale), we - # cannot determine the origin (transform translation) simply by identifying - # the min and max extents. Instead, we calculate the translation by - # considering the direction of scaling (positive or negative) along both - # the x and y axes. - translate_x = self.scale_x * x_start + ( - x_min if self.scale_x > 0 else x_max - ) - translate_y = self.scale_y * y_start + ( - y_min if self.scale_y > 0 else y_max - ) + + # Translate the crs_transform to the origin of the bounding box + transform_image = affine.Affine(*self.crs_transform) + transform_grid_cell = affine.Affine.translation( + xoff=x_start * transform_image.a, + yoff=y_start * transform_image.e + ) * transform_image return { # The size of the bounding box. The affine transform and project will be # applied, so we can think in terms of pixels. 'dimensions': { - 'width': width, - 'height': height, - }, - 'affineTransform': { - 'translateX': translate_x, - 'translateY': translate_y, - # Define the scale for each pixel (e.g. the number of meters between - # each value). - 'scaleX': self.scale_x, - 'scaleY': self.scale_y, + 'width': x_end - x_start, + 'height': y_end - y_start, }, - 'crsCode': self.crs_arg, + 'affineTransform': dict(zip(EE_AFFINE_TRANSFORM_FIELDS, transform_grid_cell)), + 'crsCode': self.crs, } def image_to_array( @@ -576,10 +517,8 @@ def open_store_variable(self, name: str) -> xarray.Variable: encoding = { 'source': attrs['id'], 'scale_factor': arr.scale, - 'scale_units': self.scale_units, 'dtype': data.dtype, 'preferred_chunks': self.preferred_chunks, - 'bounds': arr.bounds, } return xarray.Variable(dimensions, data, attrs, encoding) @@ -606,74 +545,6 @@ def _get_primary_coordinates(self) -> List[Any]: ] return primary_coords - def _get_tile_from_ee( - self, tile_and_band: Tuple[Tuple[int, int, int], str] - ) -> Tuple[int, np.ndarray[Any, np.dtype]]: - """Get a numpy array from EE for a specific bounding box (a 'tile').""" - (tile_index, tile_coords_start, tile_coords_end), band_id = tile_and_band - bbox = self.project( - (tile_coords_start, 0, tile_coords_end, 1) - if band_id == 'x' - else (0, tile_coords_start, 1, tile_coords_end) - ) - target_image = ee.Image.pixelCoordinates(ee.Projection(self.crs_arg)) - return tile_index, self.image_to_array( - target_image, grid=bbox, dtype=np.float64, bandIds=[band_id] - ) - - def _process_coordinate_data( - self, - tile_count: int, - tile_size: int, - end_point: int, - coordinate_type: str, - ) -> np.ndarray: - """Process coordinate data using multithreading for longitude or latitude.""" - data = [ - (i, tile_size * i, min(tile_size * (i + 1), end_point)) - for i in range(tile_count) - ] - tiles = [None] * tile_count - with concurrent.futures.ThreadPoolExecutor(**self.executor_kwargs) as pool: - for i, arr in pool.map( - self._get_tile_from_ee, - list(zip(data, itertools.cycle([coordinate_type]))), - ): - tiles[i] = arr.flatten() - return np.concatenate(tiles) - - def _determine_bounds( - self, - geometry: ee.Geometry | Tuple[float, float, float, float] | None = None, - ) -> Tuple[float, float, float, float]: - if geometry is None: - try: - x_min_0, y_min_0, x_max_0, y_max_0 = self.crs.area_of_use.bounds - except AttributeError: - # `area_of_use` is probably `None`. Parse the geometry from the first - # image instead (calculated in self.get_info()) - x_min_0, y_min_0, x_max_0, y_max_0 = _ee_bounds_to_bounds( - self.get_info['bounds'] - ) - elif isinstance(geometry, ee.Geometry): - x_min_0, y_min_0, x_max_0, y_max_0 = _ee_bounds_to_bounds( - self.get_info['bounds'] - ) - elif isinstance(geometry, Sequence): - if len(geometry) != 4: - raise ValueError( - 'geometry must be a tuple or list of length 4, or a ee.Geometry, ' - f'but got {geometry!r}' - ) - x_min_0, y_min_0, x_max_0, y_max_0 = geometry - else: - raise ValueError( - 'geometry must be a tuple or list of length 4, a ee.Geometry, or' - f' None but got {type(geometry)}' - ) - x_min, y_min = self.transform(x_min_0, y_min_0) - x_max, y_max = self.transform(x_max_0, y_max_0) - return x_min, y_min, x_max, y_max def get_variables(self) -> utils.Frozen[str, xarray.Variable]: vars_ = [(name, self.open_store_variable(name)) for name in self._bands()] @@ -690,26 +561,10 @@ def get_variables(self) -> utils.Frozen[str, xarray.Variable]: f'ImageCollection due to: {e}.' ) - if isinstance(self.chunks, dict): - # when the value of self.chunks = 'auto' or user-defined. - width_chunk = self.chunks['width'] - height_chunk = self.chunks['height'] - else: - # when the value of self.chunks = -1. - width_chunk = v0.shape[1] - height_chunk = v0.shape[2] - - lon_total_tile = math.ceil(v0.shape[1] / width_chunk) - lon = self._process_coordinate_data( - lon_total_tile, width_chunk, v0.shape[1], 'x' - ) - lat_total_tile = math.ceil(v0.shape[2] / height_chunk) - lat = self._process_coordinate_data( - lat_total_tile, height_chunk, v0.shape[2], 'y' - ) - - width_coord = np.squeeze(lon) - height_coord = np.squeeze(lat) + x_scale, _, x_translate, _, y_scale, y_translate = self.crs_transform + width, height = self.shape_2d + width_coord = np.array([x_translate + x_scale / 2 + ix * x_scale for ix in range(width)]) + height_coord = np.array([y_translate + y_scale / 2 + iy * y_scale for iy in range(height)]) # Make sure there's at least a single point in each dimension. if width_coord.ndim == 0: @@ -782,19 +637,13 @@ def __init__(self, variable_name: str, ee_store: EarthEngineStore): self.store = ee_store self.scale = ee_store.scale - self.bounds = ee_store.bounds # It looks like different bands have different dimensions & transforms! # Can we get this into consistent dimensions? self._info = ee_store._band_attrs(variable_name) self.dtype = np.dtype(np.float32) - x_min, y_min, x_max, y_max = self.bounds - # Make sure the size is at least 1x1. - x_size = max(1, int(np.round((x_max - x_min) / np.abs(self.store.scale_x)))) - y_size = max(1, int(np.round((y_max - y_min) / np.abs(self.store.scale_y)))) - - self.shape = (ee_store.n_images, x_size, y_size) + self.shape = (ee_store.n_images, ) + ee_store.shape_2d self._apparent_chunks = {k: 1 for k in self.store.PREFERRED_CHUNKS.keys()} if isinstance(self.store.chunks, dict): self._apparent_chunks = self.store.chunks.copy() @@ -1014,6 +863,9 @@ def guess_can_open( def open_dataset( self, filename_or_obj: Union[str, os.PathLike[Any], ee.ImageCollection], + crs: CrsType, + crs_transform: TransformType, + shape_2d: ShapeType, drop_variables: Optional[Tuple[str, ...]] = None, io_chunks: Optional[Any] = None, n_images: int = -1, @@ -1023,10 +875,6 @@ def open_dataset( use_cftime: Optional[bool] = None, concat_characters: bool = True, decode_coords: bool = True, - crs: Optional[str] = None, - scale: Union[float, int, None] = None, - projection: Optional[ee.Projection] = None, - geometry: ee.Geometry | Tuple[float, float, float, float] | None = None, primary_dim_name: Optional[str] = None, primary_dim_property: Optional[str] = None, ee_mask_value: Optional[float] = None, @@ -1042,6 +890,12 @@ def open_dataset( Args: filename_or_obj: An asset ID for an ImageCollection, or an ee.ImageCollection object. + crs: The coordinate reference system (a CRS code or WKT + string). This defines the frame of reference to coalesce all variables + upon opening. + crs_transform: Transform matrix describing the grid origin and scale + relative to the CRS. + shape_2d: Dimensions of the pixel grid in the form (width, height). drop_variables (optional): Variables or bands to drop before opening. io_chunks (optional): Specifies the chunking strategy for loading data from EE. By default, this automatically calculates optional chunks based @@ -1076,22 +930,6 @@ def open_dataset( or individual variables as coordinate variables. - "all": Set variables referred to in ``'grid_mapping'``, ``'bounds'`` and other attributes as coordinate variables. - crs (optional): The coordinate reference system (a CRS code or WKT - string). This defines the frame of reference to coalesce all variables - upon opening. By default, data is opened with `EPSG:4326'. - scale (optional): The scale in the `crs` or `projection`'s units of - measure -- either meters or degrees. This defines the scale that all - data is represented in upon opening. By default, the scale is 1° when - the CRS is in degrees or 10,000 when in meters. - projection (optional): Specify an `ee.Projection` object to define the - `scale` and `crs` (or other coordinate reference system) with which to - coalesce all variables upon opening. By default, the scale and reference - system is set by the the `crs` and `scale` arguments. - geometry (optional): Specify an `ee.Geometry` to define the regional - bounds when opening the data or a bbox specifying [x_min, y_min, x_max, - y_max] in EPSG:4326. When not set, the bounds are defined by - the CRS's 'area_of_use` boundaries. If those aren't present, the bounds - are derived from the geometry of the first image of the collection. primary_dim_name (optional): Override the name of the primary dimension of the output Dataset. By default, the name is 'time'. primary_dim_property (optional): Override the `ee.Image` property for @@ -1135,12 +973,11 @@ def open_dataset( store = EarthEngineStore.open( collection, + crs=crs, + crs_transform=crs_transform, + shape_2d=shape_2d, chunk_store=io_chunks, n_images=n_images, - crs=crs, - scale=scale, - projection=projection, - geometry=geometry, primary_dim_name=primary_dim_name, primary_dim_property=primary_dim_property, mask_value=ee_mask_value, diff --git a/xee/ext_integration_test.py b/xee/ext_integration_test.py index 128d719..be17359 100644 --- a/xee/ext_integration_test.py +++ b/xee/ext_integration_test.py @@ -21,9 +21,11 @@ from absl.testing import absltest from google.auth import identity_pool import numpy as np +import shapely import xarray as xr from xarray.core import indexing import xee +from xee import helpers import ee @@ -39,8 +41,12 @@ 'https://www.googleapis.com/auth/cloud-platform', 'https://www.googleapis.com/auth/earthengine', ] -_USE_ADC_CREDENTIALS_KEY = 'USE_ADC_CREDENTIALS' - +# Define grid parameters for tests +_TEST_GRID_PARAMS = { + 'crs': 'EPSG:4326', + 'crs_transform': [1.0, 0, -180.0, 0, -1.0, 90.0], + 'shape_2d': (360, 180) +} def _read_identity_pool_creds() -> identity_pool.Credentials: credentials_path = os.environ[_CREDENTIALS_PATH_KEY] @@ -54,7 +60,8 @@ def init_ee_for_tests(): init_params = { 'opt_url': ee.data.HIGH_VOLUME_API_BASE_URL, } - if not os.environ.get(_USE_ADC_CREDENTIALS_KEY, False): + + if _CREDENTIALS_PATH_KEY in os.environ: credentials = _read_identity_pool_creds() init_params['credentials'] = credentials init_params['project'] = credentials.project_number @@ -72,16 +79,19 @@ def setUp(self): ), n_images=64, getitem_kwargs={'max_retries': 10, 'initial_delay': 1500}, + **_TEST_GRID_PARAMS, ) self.store_with_neg_mask_value = xee.EarthEngineStore( ee.ImageCollection('LANDSAT/LC08/C02/T1').filterDate( '2017-01-01', '2017-01-03' ), + **_TEST_GRID_PARAMS, n_images=64, mask_value=-9999, ) self.lnglat_store = xee.EarthEngineStore( ee.ImageCollection.fromImages([ee.Image.pixelLonLat()]), + **_TEST_GRID_PARAMS, chunks={'index': 256, 'width': 512, 'height': 512}, n_images=64, ) @@ -89,13 +99,15 @@ def setUp(self): ee.ImageCollection('GRIDMET/DROUGHT').filterDate( '2020-03-30', '2020-04-01' ), + **_TEST_GRID_PARAMS, n_images=64, getitem_kwargs={'max_retries': 9}, ) self.all_img_store = xee.EarthEngineStore( ee.ImageCollection('LANDSAT/LC08/C02/T1').filterDate( '2017-01-01', '2017-01-03' - ) + ), + **_TEST_GRID_PARAMS, ) def test_creates_lat_long_array(self): @@ -271,32 +283,6 @@ def __getitem__(self, params): self.assertEqual(getter.count, 3) - def test_geometry_bounds_with_and_without_projection(self): - image = ( - ee.ImageCollection('LANDSAT/LC08/C02/T1') - .filterDate('2017-01-01', '2017-01-03') - .first() - ) - point = ee.Geometry.Point(-40.2414893624401, 105.48790177216375) - distance = 311.5 - scale = 5000 - projection = ee.Projection('EPSG:4326', [1, 0, 0, 0, -1, 0]).atScale(scale) - image = image.reproject(projection) - - geometry = point.buffer(distance, proj=projection).bounds(proj=projection) - - data_store = xee.EarthEngineStore( - ee.ImageCollection(image), - projection=image.projection(), - geometry=geometry, - ) - data_store_bounds = data_store.get_info['bounds'] - - self.assertNotEqual(geometry.bounds().getInfo(), data_store_bounds) - self.assertEqual( - geometry.bounds(1, proj=projection).getInfo(), data_store_bounds - ) - def test_getitem_kwargs(self): arr = xee.EarthEngineBackendArray('B4', self.store) self.assertEqual(arr.store.getitem_kwargs['initial_delay'], 1500) @@ -337,67 +323,62 @@ def test_guess_can_open__image_collection(self): self.assertFalse(self.entry.guess_can_open('WRI/GPPD/power_plants')) def test_open_dataset__sanity_check(self): + """Test opening a simple image collection in geographic coordinates.""" + n_images, width, height = 3, 4, 5 ds = self.entry.open_dataset( - pathlib.Path('LANDSAT') / 'LC08' / 'C02' / 'T1', - drop_variables=tuple(f'B{i}' for i in range(3, 12)), - n_images=3, - projection=ee.Projection('EPSG:4326', [25, 0, 0, 0, -25, 0]), + pathlib.Path('ECMWF') / 'ERA5' / 'MONTHLY', + n_images=n_images, + crs='EPSG:4326', + crs_transform=[12.0, 0, -180.0, 0, -25.0, 90.0], + shape_2d=(width, height), ) - self.assertEqual(dict(ds.sizes), {'time': 3, 'lon': 14, 'lat': 7}) + print(f'{ds=}') + self.assertEqual(dict(ds.sizes), {'time': 3, 'x': width, 'y': height}) self.assertNotEmpty(dict(ds.coords)) self.assertEqual( - list(ds.data_vars.keys()), - [f'B{i}' for i in range(1, 3)] - + ['QA_PIXEL', 'QA_RADSAT', 'SAA', 'SZA', 'VAA', 'VZA'], - ) + list(ds.data_vars.keys()), + [ + 'mean_2m_air_temperature', + 'minimum_2m_air_temperature', + 'maximum_2m_air_temperature', + 'dewpoint_2m_temperature', + 'total_precipitation', + 'surface_pressure', + 'mean_sea_level_pressure', + 'u_component_of_wind_10m', + 'v_component_of_wind_10m' + ] + ) + # Loop through the data variables. for v in ds.values(): + print(f'{v = }') self.assertIsNotNone(v.data) self.assertFalse(v.isnull().all(), 'All values are null!') - self.assertEqual(v.shape, (3, 14, 7)) + self.assertEqual(v.shape, (n_images, width, height)) - def test_open_dataset__sanity_check_with_negative_scale(self): - ds = self.entry.open_dataset( - pathlib.Path('LANDSAT') / 'LC08' / 'C02' / 'T1', - drop_variables=tuple(f'B{i}' for i in range(3, 12)), - scale=-25.0, # in degrees - n_images=3, - ) - self.assertEqual(dict(ds.sizes), {'time': 3, 'lon': 14, 'lat': 7}) - self.assertNotEmpty(dict(ds.coords)) - self.assertEqual( - list(ds.data_vars.keys()), - [f'B{i}' for i in range(1, 3)] - + ['QA_PIXEL', 'QA_RADSAT', 'SAA', 'SZA', 'VAA', 'VZA'], - ) - for v in ds.values(): - self.assertIsNotNone(v.data) - self.assertTrue(v.isnull().all(), 'All values must be null!') - self.assertEqual(v.shape, (3, 14, 7)) def test_open_dataset__n_images(self): ds = self.entry.open_dataset( pathlib.Path('LANDSAT') / 'LC08' / 'C02' / 'T1', drop_variables=tuple(f'B{i}' for i in range(3, 12)), n_images=1, - scale=25.0, # in degrees + **_TEST_GRID_PARAMS ) - self.assertLen(ds.time, 1) def test_open_dataset_image_to_imagecollection(self): """Ensure that opening an ee.Image is the same as opening a single image ee.ImageCollection.""" img = ee.Image('CGIAR/SRTM90_V4') ic = ee.ImageCollection(img) - ds1 = xr.open_dataset(img, engine='ee') - ds2 = xr.open_dataset(ic, engine='ee') + ds1 = xr.open_dataset(img, engine='ee', **_TEST_GRID_PARAMS) + ds2 = xr.open_dataset(ic, engine='ee', **_TEST_GRID_PARAMS) self.assertTrue(ds1.identical(ds2)) def test_can_chunk__opened_dataset(self): ds = xr.open_dataset( 'NASA/GPM_L3/IMERG_V07', - crs='EPSG:4326', - scale=0.25, engine=xee.EarthEngineBackendEntrypoint, + **_TEST_GRID_PARAMS ).isel(time=slice(0, 1)) try: @@ -405,40 +386,48 @@ def test_can_chunk__opened_dataset(self): except ValueError: self.fail('Chunking failed.') - def test_honors_geometry(self): - ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate( - '1992-10-05', '1993-03-31' - ) - leg1 = ee.Geometry.Rectangle(113.33, -43.63, 153.56, -10.66) + + def test_honors_geometry_simple_utm(self): + """Test that a non-geographic projection can be used.""" + ic = ee.ImageCollection([ + ee.Image('LANDSAT/LC09/C02/T1_L2/LC09_043034_20211116').select(0) + .addBands(ee.Image.pixelLonLat()), + ]) + min_x, max_x = 10, 12 + min_y, max_y = -4, 0 + width = max_x - min_x + height = max_y - min_y ds = xr.open_dataset( ic, engine=xee.EarthEngineBackendEntrypoint, - geometry=leg1, + crs="EPSG:32610", + crs_transform=[30, 0, 448485+103000, 0, -30, 4263915-84000], # Origin over SF + shape_2d=(width, height), ) - standard_ds = xr.open_dataset( - ic, - engine=xee.EarthEngineBackendEntrypoint, - ) - - self.assertEqual(ds.sizes, {'time': 4248, 'lon': 40, 'lat': 35}) - self.assertNotEqual(ds.sizes, standard_ds.sizes) - def test_honors_projection(self): - ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate( - '1992-10-05', '1993-03-31' + self.assertEqual(ds.sizes, {'time': 1, 'x': width, 'y': height}) + np.testing.assert_allclose( + ds['latitude'].values, + np.array([[ + [37.764977, 37.764706, 37.764435, 37.764164], + [37.764973, 37.7647 , 37.76443 , 37.764164] + ]]) ) - ds = xr.open_dataset( - ic, - engine=xee.EarthEngineBackendEntrypoint, - projection=ic.first().select(0).projection(), + np.testing.assert_allclose( + ds['longitude'].values, + np.array([[ + [-122.41528, -122.41529, -122.41529, -122.41529], + [-122.41495, -122.41495, -122.41495, -122.41495] + ]]) ) - standard_ds = xr.open_dataset( - ic, - engine=xee.EarthEngineBackendEntrypoint, + np.testing.assert_allclose( + ds['SR_B1'].values, + np.array([[ + [14332., 13622., 12058., 11264.], + [12254., 10379., 10701., 11150.] + ]]) ) - self.assertEqual(ds.sizes, {'time': 4248, 'lon': 3600, 'lat': 1800}) - self.assertNotEqual(ds.sizes, standard_ds.sizes) @absltest.skipIf(_SKIP_RASTERIO_TESTS, 'rioxarray module not loaded') def test_expected_precise_transform(self): @@ -468,32 +457,33 @@ def test_expected_precise_transform(self): xee_dataset = xr.open_dataset( ee.ImageCollection(ic), engine='ee', - geometry=tuple(raster.rio.bounds()), - projection=ee.Projection( - crs=str(raster.rio.crs), transform=raster.rio.transform()[:6] - ), - ).rename({'lon': 'x', 'lat': 'y'}) + crs=str(raster.rio.crs), + crs_transform=raster.rio.transform()[:6], + shape_2d=data.shape + ) self.assertNotEqual(abs(x_res), abs(y_res)) - np.testing.assert_equal( + np.testing.assert_allclose( np.array(xee_dataset.rio.transform()), np.array(raster.rio.transform()), ) def test_parses_ee_url(self): - ds = self.entry.open_dataset( - 'ee://LANDSAT/LC08/C02/T1', - drop_variables=tuple(f'B{i}' for i in range(3, 12)), - scale=25.0, # in degrees - n_images=3, - ) - self.assertEqual(dict(ds.sizes), {'time': 3, 'lon': 14, 'lat': 7}) - ds = self.entry.open_dataset( - 'ee:LANDSAT/LC08/C02/T1', - drop_variables=tuple(f'B{i}' for i in range(3, 12)), - scale=25.0, # in degrees - n_images=3, + """Test the ee: URL parsing.""" + n_images, width, height = 3, 10, 20 + test_params = { + 'n_images': n_images, + 'crs': 'EPSG:4326', + 'crs_transform': [12.0, 0, -180.0, 0, -25.0, 90.0], + 'shape_2d': (width, height) + } + ds1 = self.entry.open_dataset('ee://LANDSAT/LC08/C02/T1', **test_params) + ds2 = self.entry.open_dataset('ee:LANDSAT/LC08/C02/T1', **test_params) + self.assertEqual(dict(ds1.sizes), {'time': n_images, 'x': width, 'y': height}) + self.assertEqual(dict(ds2.sizes), {'time': n_images, 'x': width, 'y': height}) + np.testing.assert_allclose( + ds1["B1"].compute().values, + ds2["B1"].compute().values ) - self.assertEqual(dict(ds.sizes), {'time': 3, 'lon': 14, 'lat': 7}) def test_data_sanity_check(self): # This simple test uncovered a bug with the default definition of `scale`. @@ -503,6 +493,7 @@ def test_data_sanity_check(self): 'ECMWF/ERA5_LAND/HOURLY', engine=xee.EarthEngineBackendEntrypoint, n_images=1, + **_TEST_GRID_PARAMS ) temperature_2m = era5.isel(time=0).temperature_2m self.assertNotEqual(temperature_2m.min(), 0.0) @@ -512,8 +503,8 @@ def test_validate_band_attrs(self): ds = self.entry.open_dataset( 'ee:LANDSAT/LC08/C02/T1', drop_variables=tuple(f'B{i}' for i in range(3, 12)), - scale=25.0, # in degrees n_images=3, + **_TEST_GRID_PARAMS ) valid_types = (str, int, float, complex, np.ndarray, np.number, list, tuple) @@ -544,8 +535,9 @@ def test_fast_time_slicing(self): params = dict( filename_or_obj=fake_collection, engine=xee.EarthEngineBackendEntrypoint, - geometry=ee.Geometry.BBox(-83.86, 41.13, -76.83, 46.15), - projection=first.projection().atScale(100000), + crs='EPSG:4326', + crs_transform=[1, 0, -100, 0, 1, 50], + shape_2d=(3, 4), ) # With slow slicing, the returned data should include the modified image. @@ -555,7 +547,7 @@ def test_fast_time_slicing(self): # With fast slicing, the returned data should include the original image. fast_slicing = xr.open_dataset(**params, fast_time_slicing=True) - fast_slicing_data = getattr(fast_slicing[dict(time=0)], band).as_numpy() + fast_slicing_data = getattr(fast_slicing[dict(time=0)], band).as_numpy() self.assertTrue(np.all(fast_slicing_data > 0)) @absltest.skipIf(_SKIP_RASTERIO_TESTS, 'rioxarray module not loaded') @@ -565,26 +557,31 @@ def test_write_projected_dataset_to_raster(self): with tempfile.TemporaryDirectory() as temp_dir: temp_file = os.path.join(temp_dir, 'test.tif') - crs = 'epsg:32610' + crs = 'EPSG:32610' proj = ee.Projection(crs) - point = ee.Geometry.Point([-122.44, 37.78]) - geom = point.buffer(1024).bounds() + + point = shapely.geometry.Point(-122.44, 37.78) + ee_point = ee.Geometry.Point(list(point.coords)[0]) + # Create a collection of 10 low-cloud images intersecting a point. col = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED') - col = col.filterBounds(point) + col = col.filterBounds(ee_point) col = col.filter(ee.Filter.lte('CLOUDY_PIXEL_PERCENTAGE', 5)) col = col.limit(10) + grid_dict = helpers.fit_geometry( + geometry=point.buffer(0.1), + grid_crs=crs, + grid_scale=100 + ) + ds = xr.open_dataset( col, engine=xee.EarthEngineBackendEntrypoint, - crs=crs, - geometry=geom, - projection=ee.Projection('EPSG:4326', [10, 0, 0, 0, -10, 0]), + **grid_dict ) - ds = ds.isel(time=0).transpose('Y', 'X') - ds.rio.set_spatial_dims(x_dim='X', y_dim='Y', inplace=True) + ds = ds.isel(time=0).transpose('y', 'x') ds.rio.write_crs(crs, inplace=True) ds.rio.reproject(crs, inplace=True) ds.rio.to_raster(temp_file) @@ -592,44 +589,30 @@ def test_write_projected_dataset_to_raster(self): with rasterio.open(temp_file) as raster: # see https://gis.stackexchange.com/a/407755 for evenOdd explanation bbox = ee.Geometry.Rectangle(raster.bounds, proj=proj, evenOdd=False) - intersects = bbox.intersects(point, 1, proj=proj) + intersects = bbox.intersects(ee_point, 1, proj=proj) self.assertTrue(intersects.getInfo()) - @absltest.skipIf(_SKIP_RASTERIO_TESTS, 'rioxarray module not loaded') - def test_write_dataset_to_raster(self): - # ensure that a dataset written to a raster intersects with the point used - # to create the initial image collection - with tempfile.TemporaryDirectory() as temp_dir: - temp_file = os.path.join(temp_dir, 'test.tif') - - crs = 'EPSG:4326' - proj = ee.Projection(crs) - point = ee.Geometry.Point([-122.44, 37.78]) - geom = point.buffer(1024).bounds() - - col = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED') - col = col.filterBounds(point) - col = col.filter(ee.Filter.lte('CLOUDY_PIXEL_PERCENTAGE', 5)) - col = col.limit(10) - ds = xr.open_dataset( - col, - engine=xee.EarthEngineBackendEntrypoint, - geometry=geom, - projection=ee.Projection('EPSG:4326', [0.0025, 0, 0, 0, -0.0025, 0]), - ) +class GridHelpersTest(absltest.TestCase): + """Test grid helper functions that require GEE access.""" - ds = ds.isel(time=0).transpose('lat', 'lon') - ds.rio.set_spatial_dims(x_dim='lon', y_dim='lat', inplace=True) - ds.rio.write_crs(crs, inplace=True) - ds.rio.reproject(crs, inplace=True) - ds.rio.to_raster(temp_file) - - with rasterio.open(temp_file) as raster: - # see https://gis.stackexchange.com/a/407755 for evenOdd explanation - bbox = ee.Geometry.Rectangle(raster.bounds, proj=proj, evenOdd=False) - intersects = bbox.intersects(point, 1, proj=proj) - self.assertTrue(intersects.getInfo()) + def setUp(self): + super().setUp() + init_ee_for_tests() + self.entry = xee.EarthEngineBackendEntrypoint() + + def test_extract_projection_from_image(self): + img = ee.Image('LANDSAT/LT05/C02/T1_TOA/LT05_031034_20110619') + grid_params = helpers.extract_projection(img) + self.assertEqual(grid_params['shape_2d'], [7881, 6981]) + self.assertEqual(grid_params['crs'], 'EPSG:32613') + np.allclose(grid_params['crs_transform'], [30, 0, 643185, 0, -30, 4255815]) + + dem = ee.ImageCollection("COPERNICUS/DEM/GLO30"); + grid_params = helpers.extract_projection(dem) + self.assertEqual(grid_params['shape_2d'], [3601, 3601]) + self.assertEqual(grid_params['crs'], 'EPSG:4326') + np.allclose(grid_params['crs_transform'], [0.000278, 0, 5.999861, 0, -0.000278, 1.000139]) if __name__ == '__main__': diff --git a/xee/ext_test.py b/xee/ext_test.py index a873d2f..88159d8 100644 --- a/xee/ext_test.py +++ b/xee/ext_test.py @@ -3,8 +3,10 @@ from absl.testing import absltest from absl.testing import parameterized import numpy as np +import shapely import xee from xee import ext +from xee import helpers class EEStoreStandardDatatypesTest(parameterized.TestCase): @@ -141,5 +143,75 @@ def test_parse_ee_init_kwargs__credentials_and_credentials_function(self): ) +class GridHelpersTest(absltest.TestCase): + """Test grid helper functions that do not require GEE access.""" + + def test_set_scale(self): + """Test that the scale values of the CRS transform can be updated.""" + crs_transform = [1, 0, 100, 0, 5, 200] + scaling = (123, 456) + crs_transform_new = helpers.set_scale(crs_transform, scaling) + np.testing.assert_allclose( + crs_transform_new, + [123, 0, 100, 0, 456, 200] + ) + + + def test_fit_geometry_specify_scale(self): + """Test generating grid parameters to match a geometry, specifying the scale.""" + grid_dict = helpers.fit_geometry( + geometry=shapely.Polygon([(10.1, 10.1), + (10.1, 10.9), + (11.9, 10.1)]), + grid_crs='EPSG:4326', + grid_scale=0.5 + ) + self.assertEqual( + grid_dict['crs_transform'], + [0.5, 0, 10, 0, -0.5, 11.0] + ) + self.assertEqual( + grid_dict['shape_2d'], + (4, 2) + ) + + + def test_fit_geometry_specify_scale_utm(self): + """Test generating grid parameters to match a UTM geometry, specifying the scale.""" + grid_dict = helpers.fit_geometry( + geometry=shapely.Polygon([(551000, 4179000), + (551000, 4179000), + (552000, 4180000), + (552000, 4180000)]), # over San Francisco + geometry_crs='EPSG:32610', + grid_crs='EPSG:4326', + grid_scale=0.01 + ) + self.assertEqual( + grid_dict['crs_transform'], + [0.01, 0.0, -122.43, 0.0, -0.01, 37.77] + ) + self.assertEqual( + grid_dict['shape_2d'], + (3, 2) + ) + + + def test_fit_geometry_specify_shape(self): + """Test generating grid parameters to match a geometry, specifying the shape.""" + grid_dict = helpers.fit_geometry( + geometry=shapely.Polygon([(10.0, 2.0), + (10.0, 3.0), + (12.0, 2.0)]), + grid_crs='EPSG:4326', + grid_shape=(4, 2) + ) + np.testing.assert_allclose( + grid_dict['crs_transform'], + [0.5, 0, 10, 0, -0.5, 3], + rtol=1e-4, + ) + + if __name__ == '__main__': absltest.main() diff --git a/xee/helpers.py b/xee/helpers.py new file mode 100644 index 0000000..f841029 --- /dev/null +++ b/xee/helpers.py @@ -0,0 +1,156 @@ +# Copyright 2025 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Helper functions for grid parameters.""" +import math + +import ee +from pyproj import Transformer +from rasterio.transform import Affine +import shapely +from shapely.ops import transform +from shapely.geometry import box +from typing import Literal + +def set_scale(crs_transform, scaling): + """Update the CRS transform's scale parameters.""" + match scaling: + case int(xy_scale) | float(xy_scale): + crs_transform[0] = xy_scale + crs_transform[4] = xy_scale + case (int(x_scale) | float(x_scale), int(y_scale) | float(y_scale)): + crs_transform[0] = x_scale + crs_transform[4] = y_scale + case _: + raise TypeError + affine_transform = Affine(*crs_transform) + return list(affine_transform)[:6] + + +def fit_geometry( + geometry, + *, + geometry_crs='EPSG:4326', + buffer=0, + grid_crs='EPSG:4326', + grid_scale=None, + grid_scale_digits=None, + grid_shape=None, +): + """Return grid parameters that fit the geometry.""" + + # Check that exactly one of the arguments is specified + if (grid_scale is None) == (grid_shape is None): + raise ValueError("Exactly one of 'grid_scale' or 'grid_shape' must be specified.") + + # Reproject geometry to the grid CRS. If the grids are the same this + # is a no-op. + transformer = Transformer.from_crs( + crs_from=geometry_crs, + crs_to=grid_crs, + always_xy=True + ) + reprojected_geometry = transform(transformer.transform, geometry) + if buffer and buffer > 0: + buffered_geom = shapely.buffer(reprojected_geometry, buffer) + else: + buffered_geom = reprojected_geometry + x_min, y_min, x_max, y_max = buffered_geom.bounds + + if grid_scale: + # Given scale & geometry, determine the translation & shape parameters. + x_scale = y_scale = grid_scale + + x_shape = math.ceil( + (x_max / x_scale - math.floor(x_min / x_scale)) + ) + y_shape = math.ceil( + (-y_min / y_scale + math.ceil(y_max / y_scale)) + ) + + if grid_shape: + # Given shape & geometry, determine the translation & scale parameters. + x_shape, y_shape = grid_shape + + x_scale = (x_max - x_min) / x_shape + y_scale = (y_max - y_min) / y_shape + + if grid_scale_digits: + x_scale = round(x_scale, grid_scale_digits) + y_scale = round(y_scale, grid_scale_digits) + + grid_x_min = math.floor(x_min / x_scale) * x_scale + grid_y_max = math.ceil(y_max / y_scale) * y_scale + + affine_transform = Affine.translation(grid_x_min, grid_y_max) * Affine.scale(x_scale, -y_scale) + crs_transform = list(affine_transform)[:6] + + return dict( + crs=grid_crs, + crs_transform=crs_transform, + shape_2d=(x_shape, y_shape) + ) + + + +def update_grid_translation( + crs, + crs_transform, + shape, + geometry + ): + """Update the grid's translateX and translateY parameters to center on the geometry.""" + + return crs, crs_transform, shape + + + +def update_shape( + crs, + crs_transform, + shape, + geometry + ): + # Update the shape to cover the geometry. + return crs, crs_transform, shape + + +def extract_projection( + ee_obj + ): + # Estimate the CRS and transform from an ee.Image or ee.ImageCollection object + + # proj_info = ee_obj.projection().getInfo() + + # return dict( + # crs=proj_info['crs'], + # crs_transform=proj_info['transform'] + # ) + match ee_obj: + case ee.Image(): + print('Its an image') + img_obj = ee_obj + case ee.ImageCollection(): + print('Its an image collection') + img_obj = ee_obj.first() + case _: + raise TypeError + + first_band_info = img_obj.select(0).getInfo()['bands'][0] + + return dict( + crs=first_band_info['crs'], + crs_transform=first_band_info['crs_transform'], + shape_2d=first_band_info['dimensions'] + ) From dab729783e68880a0a29cb70a34f0929afe409ce Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Fri, 28 Feb 2025 15:50:59 -0800 Subject: [PATCH 10/11] Remove helper placeholders Ensure shape_2d is a tuple --- xee/helpers.py | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/xee/helpers.py b/xee/helpers.py index f841029..ba92add 100644 --- a/xee/helpers.py +++ b/xee/helpers.py @@ -103,40 +103,11 @@ def fit_geometry( ) - -def update_grid_translation( - crs, - crs_transform, - shape, - geometry - ): - """Update the grid's translateX and translateY parameters to center on the geometry.""" - - return crs, crs_transform, shape - - - -def update_shape( - crs, - crs_transform, - shape, - geometry - ): - # Update the shape to cover the geometry. - return crs, crs_transform, shape - - -def extract_projection( +def extract_grid_params( ee_obj ): - # Estimate the CRS and transform from an ee.Image or ee.ImageCollection object + # Extract the pixel grid parameters from an ee.Image or ee.ImageCollection object - # proj_info = ee_obj.projection().getInfo() - - # return dict( - # crs=proj_info['crs'], - # crs_transform=proj_info['transform'] - # ) match ee_obj: case ee.Image(): print('Its an image') @@ -152,5 +123,5 @@ def extract_projection( return dict( crs=first_band_info['crs'], crs_transform=first_band_info['crs_transform'], - shape_2d=first_band_info['dimensions'] + shape_2d=tuple(first_band_info['dimensions']) ) From 68d7a462f1360740e473c2f95f4b6c24ab853416 Mon Sep 17 00:00:00 2001 From: Tyler Erickson Date: Fri, 28 Feb 2025 16:45:17 -0800 Subject: [PATCH 11/11] Update README code and add tests --- README.md | 75 ++++++++++++++++++++----------------- xee/ext_integration_test.py | 74 +++++++++++++++++++++++++++++++++--- 2 files changed, 109 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index a270156..143bfe8 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Now, in your Python environment, make the following imports: ```python import ee -import xarray +import xarray as xr ``` Next, specify your EE-registered cloud project ID and initialize the EE client @@ -48,68 +48,73 @@ ee.Initialize( opt_url='https://earthengine-highvolume.googleapis.com') ``` -Open any Earth Engine ImageCollection by specifying the Xarray engine as `'ee'`: - +We specify the desired pixel grid using three parameters: `crs`, `crs_transform`, and `shape_2d`. Xee contains a helper function `extract_grid_params` that can extract these parameters from an Earth Engine Image or ImageCollection object. ```python -ds = xarray.open_dataset('ee://ECMWF/ERA5_LAND/HOURLY', engine='ee') +ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY') +grid_params = helpers.extract_grid_params(ic) ``` -Open all bands in a specific projection (not the Xee default): +Open any Earth Engine ImageCollection by specifying the Xarray engine as `'ee'`: ```python -ds = xarray.open_dataset('ee://ECMWF/ERA5_LAND/HOURLY', engine='ee', - crs='EPSG:4326', scale=0.25) +ds = xr.open_dataset( + 'ee://ECMWF/ERA5_LAND/HOURLY', + engine='ee', + **grid_params +) ``` -Open an ImageCollection (maybe, with EE-side filtering or processing): +Open all bands in a specific projection: ```python -ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate( - '1992-10-05', '1993-03-31') -ds = xarray.open_dataset(ic, engine='ee', crs='EPSG:4326', scale=0.25) +ds = xr.open_dataset( + 'ee://ECMWF/ERA5_LAND/HOURLY', + engine='ee', + crs="EPSG:32610", + crs_transform=[30, 0, 448485+103000, 0, -30, 4263915-84000], # In San Francisco, California + shape_2d=(64, 64), +) ``` -Open an ImageCollection with a specific EE projection or geometry: +Open an ImageCollection (maybe, with EE-side filtering or processing): ```python -ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate( - '1992-10-05', '1993-03-31') -leg1 = ee.Geometry.Rectangle(113.33, -43.63, 153.56, -10.66) -ds = xarray.open_dataset( +ds = xr.open_dataset( ic, engine='ee', - projection=ic.first().select(0).projection(), - geometry=leg1 + crs="EPSG:32610", + crs_transform=[30, 0, 448485+103000, 0, -30, 4263915-84000], # In San Francisco, California + shape_2d=(64, 64), ) ``` -Open multiple ImageCollections into one `xarray.Dataset`, all with the same -projection: +Open an ImageCollection with a specific EE projection or geometry: ```python -ds = xarray.open_mfdataset( - ['ee://ECMWF/ERA5_LAND/HOURLY', 'ee://NASA/GDDP-CMIP6'], - engine='ee', crs='EPSG:4326', scale=0.25) -``` +import shapely -Open a single Image by passing it to an ImageCollection: +grid_params = helpers.fit_geometry( + geometry=shapely.geometry.box(113.33, -43.63, 153.56, -10.66), + grid_crs='EPSG:4326', + grid_shape=(256, 256) +) -```python -i = ee.ImageCollection(ee.Image('LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318')) -ds = xarray.open_dataset(i, engine='ee') +ds = xr.open_dataset( + ic, + engine='ee', + **grid_params +) ``` -Open any Earth Engine ImageCollection to match an existing transform: +Open a single Image: ```python -raster = rioxarray.open_rasterio(...) # assume crs + transform is set +img = ee.Image("LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318") +grid_params = helpers.extract_grid_params(img) ds = xr.open_dataset( - 'ee://ECMWF/ERA5_LAND/HOURLY', + img, engine='ee', - geometry=tuple(raster.rio.bounds()), # must be in EPSG:4326 - projection=ee.Projection( - crs=str(raster.rio.crs), transform=raster.rio.transform()[:6] - ), + **grid_params ) ``` diff --git a/xee/ext_integration_test.py b/xee/ext_integration_test.py index 541bf96..3e43849 100644 --- a/xee/ext_integration_test.py +++ b/xee/ext_integration_test.py @@ -602,19 +602,83 @@ def setUp(self): init_ee_for_tests() self.entry = xee.EarthEngineBackendEntrypoint() - def test_extract_projection_from_image(self): + def test_extract_grid_params_from_image(self): img = ee.Image('LANDSAT/LT05/C02/T1_TOA/LT05_031034_20110619') - grid_params = helpers.extract_projection(img) - self.assertEqual(grid_params['shape_2d'], [7881, 6981]) + grid_params = helpers.extract_grid_params(img) + self.assertEqual(grid_params['shape_2d'], (7881, 6981)) self.assertEqual(grid_params['crs'], 'EPSG:32613') np.allclose(grid_params['crs_transform'], [30, 0, 643185, 0, -30, 4255815]) + def test_extract_grid_params_from_image_collection(self): dem = ee.ImageCollection("COPERNICUS/DEM/GLO30"); - grid_params = helpers.extract_projection(dem) - self.assertEqual(grid_params['shape_2d'], [3601, 3601]) + grid_params = helpers.extract_grid_params(dem) + self.assertEqual(grid_params['shape_2d'], (3601, 3601)) self.assertEqual(grid_params['crs'], 'EPSG:4326') np.allclose(grid_params['crs_transform'], [0.000278, 0, 5.999861, 0, -0.000278, 1.000139]) +class ReadmeCodeTest(absltest.TestCase): + """Tests a copy of code contained in the Xee README.""" + + def setUp(self): + super().setUp() + init_ee_for_tests() + self.entry = xee.EarthEngineBackendEntrypoint() + + def test_extract_projection_from_image(self): + + ic = ee.ImageCollection('ECMWF/ERA5_LAND/HOURLY').filterDate('1992-10-05', '1993-03-31') + grid_params = helpers.extract_grid_params(ic) + + # Open any Earth Engine ImageCollection by specifying the Xarray engine as 'ee': + ds = xr.open_dataset( + 'ee://ECMWF/ERA5_LAND/HOURLY', + engine='ee', + **grid_params + ) + + # Open all bands in a specific projection: + ds = xr.open_dataset( + 'ee://ECMWF/ERA5_LAND/HOURLY', + engine='ee', + crs="EPSG:32610", + crs_transform=[30, 0, 448485+103000, 0, -30, 4263915-84000], # In San Francisco, California + shape_2d=(64, 64), + ) + + # Open an ImageCollection (maybe, with EE-side filtering or processing): + ds = xr.open_dataset( + ic, + engine='ee', + crs="EPSG:32610", + crs_transform=[30, 0, 448485+103000, 0, -30, 4263915-84000], # In San Francisco, California + shape_2d=(64, 64), + ) + + # Open an ImageCollection with a specific EE projection or geometry: + import shapely + + grid_params = helpers.fit_geometry( + geometry=shapely.geometry.box(113.33, -43.63, 153.56, -10.66), + grid_crs='EPSG:4326', + grid_shape=(256, 256) + ) + + ds = xr.open_dataset( + ic, + engine='ee', + **grid_params + ) + + # Open a single Image: + img = ee.Image("LANDSAT/LC08/C02/T1_TOA/LC08_044034_20140318") + grid_params = helpers.extract_grid_params(img) + ds = xr.open_dataset( + img, + engine='ee', + **grid_params + ) + + if __name__ == '__main__': absltest.main()